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 - idonmez@novell.com
+
+- 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
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: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org