[oxygen-gtk2] fix crash in claws-mail (#804790, kde#295875)

nucleo nucleo at fedoraproject.org
Tue Mar 20 16:07:35 UTC 2012


commit c73ba50425fcb127f5bc06b3b009077d2e790a44
Author: nucleo <nucleo at fedoraproject.org>
Date:   Tue Mar 20 18:07:32 2012 +0200

    fix crash in claws-mail (#804790, kde#295875)

 oxygen-gtk2-badwindow.patch |   31 +++++++++++++++++++++++++++++++
 oxygen-gtk2.spec            |   10 +++++++++-
 2 files changed, 40 insertions(+), 1 deletions(-)
---
diff --git a/oxygen-gtk2-badwindow.patch b/oxygen-gtk2-badwindow.patch
new file mode 100644
index 0000000..1a85926
--- /dev/null
+++ b/oxygen-gtk2-badwindow.patch
@@ -0,0 +1,31 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ef91282..93672b4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,7 +13,7 @@ set( CPACK_PACKAGE_DESCRIPTION_SUMMARY "Oxygen Gtk2 theme" )
+ set( CPACK_PACKAGE_VENDOR "hugo at oxygen-icons.org" )
+ set( CPACK_PACKAGE_VERSION_MAJOR "1" )
+ set( CPACK_PACKAGE_VERSION_MINOR "2" )
+-set( CPACK_PACKAGE_VERSION_PATCH "50" )
++set( CPACK_PACKAGE_VERSION_PATCH "2" )
+ set( CPACK_SOURCE_IGNORE_FILES "build" "^${PROJECT_SOURCE_DIR}.*/.git/" )
+ 
+ ##################################
+@@ -212,4 +212,3 @@ add_subdirectory( src )
+ add_subdirectory( rc )
+ add_subdirectory( special-icons )
+ add_subdirectory( demo )
+-
+diff --git a/src/animations/oxygeninnershadowdata.cpp b/src/animations/oxygeninnershadowdata.cpp
+index d3cf05e..06d5072 100644
+--- a/src/animations/oxygeninnershadowdata.cpp
++++ b/src/animations/oxygeninnershadowdata.cpp
+@@ -164,7 +164,7 @@ namespace Oxygen
+ 
+         // remove compositing flag
+         GdkWindow* window( gtk_widget_get_window( widget ) );
+-        if( GDK_IS_WINDOW( window ) && G_OBJECT_TYPE_NAME( widget ) != std::string("GtkPizza") )
++        if( GDK_IS_WINDOW( window ) && !gdk_window_is_destroyed(window) && G_OBJECT_TYPE_NAME( widget ) != std::string("GtkPizza") )
+         { gdk_window_set_composited( window, _initiallyComposited ); }
+     }
+ 
diff --git a/oxygen-gtk2.spec b/oxygen-gtk2.spec
index 56b0715..c8ae012 100644
--- a/oxygen-gtk2.spec
+++ b/oxygen-gtk2.spec
@@ -2,12 +2,16 @@
 Name:    oxygen-gtk2
 Summary: Oxygen GTK+2 theme
 Version: 1.2.2
-Release: 1%{?dist}
+Release: 2%{?dist}
 
 License: LGPLv2+
 Group:   User Interface/Desktops
 URL:     https://projects.kde.org/projects/playground/artwork/oxygen-gtk
 Source0: ftp://ftp.kde.org/pub/kde/stable/oxygen-gtk2/%{version}/src/%{name}-%{version}.tar.bz2
+# Check if GdkWindow is destroyed before restoring composited state
+# https://bugs.kde.org/show_bug.cgi?id=295875
+# https://bugzilla.redhat.com/show_bug.cgi?id=804790
+Patch0:  oxygen-gtk2-badwindow.patch
 
 BuildRequires: cmake
 BuildRequires: gtk2-devel
@@ -30,6 +34,7 @@ otherwise breaks every time some setting is changed in KDE.
 
 %prep
 %setup -q
+%patch0 -p1 -b .badwindow
 
 
 %build
@@ -60,6 +65,9 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Tue Mar 20 2012 Alexey Kurov <nucleo at fedoraproject.org> - 1.2.2-2
+- fix crash in claws-mail (#804790, kde#295875)
+
 * Mon Mar 12 2012 Alexey Kurov <nucleo at fedoraproject.org> - 1.2.2-1
 - oxygen-gtk2-1.2.2
 - drop BR: dbus-glib-devel


More information about the scm-commits mailing list