summaryrefslogtreecommitdiffstats
path: root/freebsd/applications/graphics/digikam/files/patch-bp000-fix-showfoto-crashes.diff
blob: f3dda49bbd31da5cc18ebd44a5b7943766622483 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
commit 0254a5942b7ff18bf0072db3ebcd591512d99a10
Author: Michele Calgaro <michele.calgaro@yahoo.it>
Date:   Sat May 3 22:45:33 2025 +0900

    Fix showfoto usability.
    
    This resolves issue #50.
    
    The problem seems to be a known issue already addressed by the original
    authors. This is an extract from the 'ChangeLog' file that best
    describes the issue:
    ```
    Fix a linking problem with showfoto, image plugins and
    --enable-gcc-hidden-visibility:
    All image plugins link to libdigikam.so.
    The showfoto executable however does not link to this lib, but
    statically links the relevant parts.
    With visibility hidden, now the linker obviously cannot see the
    already linked DImgInterface class,
    and there would be two different static variables for
    DImgInterface::instance(). One with the loaded
    image, the other (from the image plugins) with a null image.
    ```
    Linking against libdigikam.so instead of including the libraries in a
    static way solves the issue.
    
    Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
    (cherry picked from commit f8074c05d9a2ad3b4a4e44557222ad51539b7e79)

diff --git a/src/digikam/CMakeLists.txt b/src/digikam/CMakeLists.txt
index 42785dbf..f756c188 100644
--- a/src/digikam/CMakeLists.txt
+++ b/src/digikam/CMakeLists.txt
@@ -44,7 +44,7 @@ tde_add_library( digikam SHARED AUTOMOC
     tagfolderview.cpp tagspopupmenu.cpp timelinefolderview.cpp timelineview.cpp timelinewidget.cpp
     upgradedb_sqlite2tosqlite3.cpp welcomepageview.cpp
   LINK
-    sqlite2-static thumbbar-static themeengine-static dialog-static  metadatawidgets-static
+    sqlite2-static thumbbar-static themeengine-static dialog-static metadatawidgets-static
     iccprofileswidgets-static imagepluginswidgets-static commonwidgets-static
     jpegutils-static dimg-static imagepropertiesdigikam-static threadimageio-static
     greycstoration-static batch-static slideshow-static cameragui-static
diff --git a/src/showfoto/CMakeLists.txt b/src/showfoto/CMakeLists.txt
index 96993fb3..526b1a58 100644
--- a/src/showfoto/CMakeLists.txt
+++ b/src/showfoto/CMakeLists.txt
@@ -25,8 +25,7 @@ add_subdirectory( setup )
 tde_add_executable( showfoto AUTOMOC
   SOURCES main.cpp showfoto.cpp
   LINK
-    imagepropertiesshowfoto-static jpegutils-static showfoto-static showfotosetupinternal-static
-    slideshow-static themeengine-static threadimageio-static thumbbar-static
+    showfotosetupinternal-static digikam-shared
     tdeparts-shared tdeutils-shared ${CMAKE_THREAD_LIBS_INIT} ${KDCRAW_LIBRARIES} ${KEXIV2_LIBRARIES}
   DESTINATION ${BIN_INSTALL_DIR}
 )