From f8074c05d9a2ad3b4a4e44557222ad51539b7e79 Mon Sep 17 00:00:00 2001
From: Michele Calgaro <michele.calgaro@yahoo.it>
Date: Sat, 3 May 2025 22:45:33 +0900
Subject: 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>
---
 src/digikam/CMakeLists.txt  | 2 +-
 src/showfoto/CMakeLists.txt | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

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}
 )
-- 
cgit v1.2.3

