From fd2be1f4042f7b93a3da55a0214a5827302fb3f0 Mon Sep 17 00:00:00 2001 From: "B. Stack" Date: Tue, 11 Oct 2022 15:34:32 -0400 Subject: update icon load patch from daviank --- freefilesync/06_icon_loader.patch | 30 +++++++++++++---------- freefilesync/debian/patches/ffs_icon_loader.patch | 30 +++++++++++++---------- 2 files changed, 34 insertions(+), 26 deletions(-) (limited to 'freefilesync') diff --git a/freefilesync/06_icon_loader.patch b/freefilesync/06_icon_loader.patch index 14035d5..60814de 100644 --- a/freefilesync/06_icon_loader.patch +++ b/freefilesync/06_icon_loader.patch @@ -1,21 +1,25 @@ Summary: Solve libglib2.0 problem in sketchy manner -Date: 2022-05-24 -Version: 11.21 -Author: bgstack15 -Message: -Warning! I have absolutely no idea what I am doing. Check https://freefilesync.org/forum/viewtopic.php?t=8780 for future developments. -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 -Zenju tried addressing this for me, but it still does not compile, even with g++-12. So I still have to omit this macro call. ---- 11.21-0/FreeFileSync/Source/base/icon_loader.cpp 2022-05-22 17:09:32.234809499 -0400 -+++ 11.21-1/FreeFileSync/Source/base/icon_loader.cpp 2022-05-24 08:59:15.433965993 -0400 -@@ -216,7 +216,7 @@ +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 +@@ -227,7 +227,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); //pass ownership -+ //::g_object_ref(gicon); //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); // } diff --git a/freefilesync/debian/patches/ffs_icon_loader.patch b/freefilesync/debian/patches/ffs_icon_loader.patch index 14035d5..60814de 100644 --- a/freefilesync/debian/patches/ffs_icon_loader.patch +++ b/freefilesync/debian/patches/ffs_icon_loader.patch @@ -1,21 +1,25 @@ Summary: Solve libglib2.0 problem in sketchy manner -Date: 2022-05-24 -Version: 11.21 -Author: bgstack15 -Message: -Warning! I have absolutely no idea what I am doing. Check https://freefilesync.org/forum/viewtopic.php?t=8780 for future developments. -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 -Zenju tried addressing this for me, but it still does not compile, even with g++-12. So I still have to omit this macro call. ---- 11.21-0/FreeFileSync/Source/base/icon_loader.cpp 2022-05-22 17:09:32.234809499 -0400 -+++ 11.21-1/FreeFileSync/Source/base/icon_loader.cpp 2022-05-24 08:59:15.433965993 -0400 -@@ -216,7 +216,7 @@ +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 +@@ -227,7 +227,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); //pass ownership -+ //::g_object_ref(gicon); //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); // } -- cgit