Hello community,

here is the log from the commit of package oxygen-gtk for openSUSE:Factory
checked in at Tue Aug 9 16:34:19 CEST 2011.



--------
--- KDE/oxygen-gtk/oxygen-gtk.changes   2011-08-01 20:17:25.000000000 +0200
+++ /mounts/work_src_done/STABLE/oxygen-gtk/oxygen-gtk.changes  2011-08-08 
17:41:24.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Aug  8 15:40:49 UTC 2011 - [email protected]
+
+- Add firefox-menu-corruption.patch, fix menu corruption seen in
+  Firefox, bko #277613
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


New:
----
  firefox-menu-corruption.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ oxygen-gtk.spec ++++++
--- /var/tmp/diff_new_pack.NZW3YB/_old  2011-08-09 16:34:03.000000000 +0200
+++ /var/tmp/diff_new_pack.NZW3YB/_new  2011-08-09 16:34:03.000000000 +0200
@@ -19,13 +19,14 @@
 
 Name:           oxygen-gtk
 Version:        1.1.1
-Release:        1
+Release:        2
 License:        GNU LGPL v2 or later
 Summary:        A Port of the default KDE Widget Theme (Oxygen), to GTK
 Url:            https://projects.kde.org/projects/playground/artwork/oxygen-gtk
 Group:          System/GUI/KDE
 Source0:        
ftp://ftp.kde.org/pub/kde/stable/oxygen-gtk/%{version}/src/%{name}-%{version}.tar.bz2
 Source100:      baselibs.conf
+Patch1:         firefox-menu-corruption.patch
 BuildRequires:  cairo-devel
 BuildRequires:  cmake
 BuildRequires:  dbus-1-glib-devel
@@ -48,6 +49,7 @@
 
 %prep
 %setup -q
+%patch1 -p1
 
 %build
 

++++++ firefox-menu-corruption.patch ++++++
commit e9f836bf20edbf45926f13fa681400d56e4275d9
Author: Hugo Pereira Da Costa <[email protected]>
Date:   Mon Aug 8 15:38:16 2011 +0200

    Added checks on Screen, Display, and Visual before allocating the pixmaps 
needed for
    shadows.
    
    CCBUG: 277613

diff --git a/src/oxygenshadowhelper.cpp b/src/oxygenshadowhelper.cpp
index f7027ca..d12099a 100644
--- a/src/oxygenshadowhelper.cpp
+++ b/src/oxygenshadowhelper.cpp
@@ -206,9 +206,32 @@ namespace Oxygen
         // create atom
         if( !_atom )
         {
+
+            // get screen and check
             GdkScreen* screen = gdk_screen_get_default();
+            if( !screen )
+            {
+
+                #if OXYGEN_DEBUG
+                std::cerr << "ShadowHelper::createPixmapHandles - screen is 
NULL" << std::endl;
+                #endif
+
+                return;
+            }
+
+            // get display and check
             Display* display( GDK_DISPLAY_XDISPLAY( gdk_screen_get_display( 
screen ) ) );
-            _atom = XInternAtom( display, "_KDE_NET_WM_SHADOW", False);
+            if( !display )
+            {
+
+                #if OXYGEN_DEBUG
+                std::cerr << "ShadowHelper::createPixmapHandles - display is 
NULL" << std::endl;
+                #endif
+
+                return;
+            }
+
+           _atom = XInternAtom( display, "_KDE_NET_WM_SHADOW", False);
         }
 
         // make sure size is valid
@@ -217,11 +240,29 @@ namespace Oxygen
         // opacity
         const int shadowOpacity = 150;
 
+        if( _roundPixmaps.empty() || _squarePixmaps.empty() )
+        {
+            // get screen, display, visual and check
+            // no need to check screen and display, since was already done for 
ATOM
+            GdkScreen* screen = gdk_screen_get_default();
+            Display* display( GDK_DISPLAY_XDISPLAY( gdk_screen_get_display( 
screen ) ) );
+            if( !gdk_screen_get_rgba_visual( screen ) )
+            {
+
+                #if OXYGEN_DEBUG
+                std::cerr << "ShadowHelper::createPixmapHandles - no valid 
RGBA visual found." << std::endl;
+                #endif
+
+                return;
+
+            }
+        }
+
         // make sure pixmaps are not already initialized
         if( _roundPixmaps.empty() )
         {
 
-            _roundPixmaps.push_back( createPixmap( _roundTiles.surface( 1 ), 
shadowOpacity ) );
+           _roundPixmaps.push_back( createPixmap( _roundTiles.surface( 1 ), 
shadowOpacity ) );
             _roundPixmaps.push_back( createPixmap( _roundTiles.surface( 2 ), 
shadowOpacity ) );
             _roundPixmaps.push_back( createPixmap( _roundTiles.surface( 5 ), 
shadowOpacity ) );
             _roundPixmaps.push_back( createPixmap( _roundTiles.surface( 8 ), 
shadowOpacity ) );

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to