Summary: Solve libglib2.0 problem in sketchy manner
Date: 2022-10-11
Version: 11.26
Author: Fab Stz
Source: https://freefilesync.org/forum/viewtopic.php?t=8780
Description:
 Solution provided by daviank on FFS forum or bastif or Fab Stz at Debian salsa
 In Devuan Ceres, starting in 2021-08 with libglib2.0-0=2.68.3-2 the file icon_loader.cpp fails to compile. By removing the static_cast, this file can compile. The built application throws all sorts of GLib-GObject-CRITICIAL messages but the application operates.
 Downgrade to "deb [check-valid-until=no] https://snapshot.debian.org/archive/debian/20210801T144205Z/ unstable main non-free contrib" in /etc/apt/sources.list and install the exact libglib version necessary to compile without this patch.
 $ sudo apt-get -V install libglib2.0-0=2.66.8-1 libglib2.0-bin=2.66.8-1 libglib2.0-data=2.66.8-1 libglib2.0-dev=2.66.8-1 libglib2.0-dev-bin=2.66.8-1 libglib2.0-0:i386=2.66.8-1
--- a/FreeFileSync/Source/base/icon_loader.cpp
+++ b/FreeFileSync/Source/base/icon_loader.cpp
@@ -250,7 +250,11 @@ FileIconHolder fff::getFileIcon(const Zs
     //the remaining icon types won't block!
     assert(GDK_IS_PIXBUF(gicon) || G_IS_THEMED_ICON(gicon) || G_IS_EMBLEMED_ICON(gicon));
 
-    g_object_ref(gicon); /*macro!*/        //pass ownership
+#if (GLIB_CHECK_VERSION (2, 67, 0))
+    g_object_ref(gicon);                   //pass ownership
+#else
+    ::g_object_ref(gicon);                 //pass ownership
+#endif
     return FileIconHolder(gicon, maxSize); //
 
 }
