Hello community,

here is the log from the commit of package oxygen-gtk for openSUSE:Factory
checked in at Wed Aug 31 10:26:12 CEST 2011.



--------
--- KDE/oxygen-gtk/oxygen-gtk.changes   2011-08-08 17:41:24.000000000 +0200
+++ /mounts/work_src_done/STABLE/oxygen-gtk/oxygen-gtk.changes  2011-08-29 
22:34:02.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Aug 29 20:33:59 UTC 2011 - asterios.dra...@gmail.com
+
+- Update to 1.1.2
+  * This is mostly a bug fix release.
+- Spec file updates
+  * Changed License: to LGPL-2.0+.
+  * Changes based on spec-cleaner run.
+- Removed firefox-menu-corruption.patch (fixed upstream).
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  firefox-menu-corruption.patch
  oxygen-gtk-1.1.1.tar.bz2

New:
----
  oxygen-gtk-1.1.2.tar.bz2

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

Other differences:
------------------
++++++ oxygen-gtk.spec ++++++
--- /var/tmp/diff_new_pack.mk54aM/_old  2011-08-31 10:25:31.000000000 +0200
+++ /var/tmp/diff_new_pack.mk54aM/_new  2011-08-31 10:25:31.000000000 +0200
@@ -18,20 +18,19 @@
 
 
 Name:           oxygen-gtk
-Version:        1.1.1
-Release:        2
-License:        GNU LGPL v2 or later
+Version:        1.1.2
+Release:        1
+License:        LGPL-2.0+
 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
 BuildRequires:  gcc-c++
-BuildRequires:  gtk2-devel
+BuildRequires:  pkgconfig(cairo)
+BuildRequires:  pkgconfig(dbus-glib-1)
+BuildRequires:  pkgconfig(gtk+-2.0)
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -49,11 +48,9 @@
 
 %prep
 %setup -q
-%patch1 -p1
 
 %build
-
-%__mkdir_p build
+mkdir -p build
 pushd build
 export CFLAGS="%{optflags}"
 export CXXFLAGS="%{optflags}"
@@ -64,16 +61,16 @@
                 -DLIB_SUFFIX=64 \
         %endif
         -DCMAKE_BUILD_TYPE=release
-%__make %{?_smp_mflags} VERBOSE=1
+make %{?_smp_mflags} VERBOSE=1
 popd
 
 %install
 pushd build
-%__make install DESTDIR=%{buildroot}
+%make_install
 popd
 
 %clean
-test %{buildroot} != "/" && %__rm -rf %{buildroot}
+test %{buildroot} != "/" && rm -rf %{buildroot}
 
 %files
 %defattr(-,root,root,-)

++++++ oxygen-gtk-1.1.1.tar.bz2 -> oxygen-gtk-1.1.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/CMakeLists.txt 
new/oxygen-gtk-1.1.2/CMakeLists.txt
--- old/oxygen-gtk-1.1.1/CMakeLists.txt 2011-07-14 09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/CMakeLists.txt 2011-08-13 18:32:33.000000000 +0200
@@ -13,7 +13,7 @@
 set( CPACK_PACKAGE_VENDOR "h...@oxygen-icons.org" )
 set( CPACK_PACKAGE_VERSION_MAJOR "1" )
 set( CPACK_PACKAGE_VERSION_MINOR "1" )
-set( CPACK_PACKAGE_VERSION_PATCH "1" )
+set( CPACK_PACKAGE_VERSION_PATCH "2" )
 set( CPACK_SOURCE_IGNORE_FILES "build" "^${PROJECT_SOURCE_DIR}.*/.git/" )
 
 set( CPACK_SOURCE_PACKAGE_FILE_NAME 
"oxygen-gtk-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}"
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oxygen-gtk-1.1.1/src/animations/oxygenanimationengine.h 
new/oxygen-gtk-1.1.2/src/animations/oxygenanimationengine.h
--- old/oxygen-gtk-1.1.1/src/animations/oxygenanimationengine.h 2011-07-14 
09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/src/animations/oxygenanimationengine.h 2011-08-13 
18:32:33.000000000 +0200
@@ -63,7 +63,7 @@
         {
 
             // for now, only Mozilla applications need blacklisting
-            return _applicationName.isMozilla( widget );
+            return _applicationName.isXul( widget );
 
         }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/animations/oxygenhook.cpp 
new/oxygen-gtk-1.1.2/src/animations/oxygenhook.cpp
--- old/oxygen-gtk-1.1.1/src/animations/oxygenhook.cpp  2011-07-14 
09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/src/animations/oxygenhook.cpp  2011-08-13 
18:32:33.000000000 +0200
@@ -20,21 +20,44 @@
 */
 
 #include "oxygenhook.h"
+#include "../config.h"
 
 #include <cassert>
+#include <iostream>
 
 namespace Oxygen
 {
 
     //__________________________________________________________________
-    void Hook::connect( const std::string& signal, GType typeId, 
GSignalEmissionHook hookFunction, gpointer data )
+    bool Hook::connect( const std::string& signal, GType typeId, 
GSignalEmissionHook hookFunction, gpointer data )
     {
         // make sure that signal is not already connected
         assert( _signalId == 0 && _hookId == 0 );
 
+        // check type id
+        if( !g_type_class_peek( typeId ) )
+        {
+
+            #if OXYGEN_DEBUG
+            std::cerr << "Oxygen::Hook::connect - typeId " << 
g_type_name(typeId) << " not yet installed" << std::endl;
+            #endif
+
+            return false;
+
+        }
+
         // store signal id
         _signalId = g_signal_lookup( signal.c_str(), typeId );
-        if( !_signalId ) return;
+        if( !_signalId )
+        {
+
+            #if OXYGEN_DEBUG
+            std::cerr << "Oxygen::Hook::connect - signal " << signal << " not 
installed." << std::endl;
+            #endif
+
+            return false;
+
+        }
 
         // store attributes and create connection
         _hookId = g_signal_add_emission_hook(
@@ -43,6 +66,8 @@
             hookFunction,
             data, 0L);
 
+        return true;
+
     }
 
     //____________________________________________________________________
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/animations/oxygenhook.h 
new/oxygen-gtk-1.1.2/src/animations/oxygenhook.h
--- old/oxygen-gtk-1.1.1/src/animations/oxygenhook.h    2011-07-14 
09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/src/animations/oxygenhook.h    2011-08-13 
18:32:33.000000000 +0200
@@ -44,10 +44,10 @@
 
 
         //! connect
-        void connect( const std::string&, GType, GSignalEmissionHook, gpointer 
);
+        bool connect( const std::string&, GType, GSignalEmissionHook, gpointer 
);
 
-        void connect( const std::string& signal, GSignalEmissionHook hook, 
gpointer data )
-        { connect( signal, GTK_TYPE_WIDGET, hook, data ); }
+        bool connect( const std::string& signal, GSignalEmissionHook hook, 
gpointer data )
+        { return connect( signal, GTK_TYPE_WIDGET, hook, data ); }
 
         //! disconnect
         void disconnect( void );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/animations/oxygensignal.cpp 
new/oxygen-gtk-1.1.2/src/animations/oxygensignal.cpp
--- old/oxygen-gtk-1.1.1/src/animations/oxygensignal.cpp        2011-07-14 
09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/src/animations/oxygensignal.cpp        2011-08-13 
18:32:33.000000000 +0200
@@ -20,25 +20,41 @@
 */
 
 #include "oxygensignal.h"
+#include "../config.h"
+
+#include <iostream>
 
 namespace Oxygen
 {
 
     //____________________________________________________________________
-    void Signal::connect( GObject* object, const std::string& signal, 
GCallback callback, gpointer data, bool after )
+    bool Signal::connect( GObject* object, const std::string& signal, 
GCallback callback, gpointer data, bool after )
     {
         // make sure that signal is not already connected
         assert( _object == 0L && _id == 0 );
 
-        // store attributes and create connection
-        _object = object;
-        if(after)
-        {
-            _id = g_signal_connect_after( object, signal.c_str(), callback, 
data );
-        } else
+        // check object
+        if( !object ) return false;
+
+        // first try lookup signal
+        if( !g_signal_lookup( signal.c_str(), G_OBJECT_TYPE(object) ) )
         {
-            _id = g_signal_connect( object, signal.c_str(), callback, data );
+
+            #if OXYGEN_DEBUG
+            std::cerr << "Oxygen::Signal::connect - signal " << signal << " 
not installed on widget " << object << std::endl;
+            #endif
+
+            return false;
+
         }
+
+        // store attributes and create connection
+        _object = object;
+        if(after) _id = g_signal_connect_after( object, signal.c_str(), 
callback, data );
+        else _id = g_signal_connect( object, signal.c_str(), callback, data );
+
+        return true;
+
     }
 
     //____________________________________________________________________
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/animations/oxygensignal.h 
new/oxygen-gtk-1.1.2/src/animations/oxygensignal.h
--- old/oxygen-gtk-1.1.1/src/animations/oxygensignal.h  2011-07-14 
09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/src/animations/oxygensignal.h  2011-08-13 
18:32:33.000000000 +0200
@@ -43,7 +43,7 @@
         {}
 
         //! connect
-        void connect( GObject*, const std::string&, GCallback, gpointer, bool 
after=false );
+        bool connect( GObject*, const std::string&, GCallback, gpointer, bool 
after=false );
 
         //! disconnect
         void disconnect( void );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenapplicationname.cpp 
new/oxygen-gtk-1.1.2/src/oxygenapplicationname.cpp
--- old/oxygen-gtk-1.1.1/src/oxygenapplicationname.cpp  2011-07-14 
09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/src/oxygenapplicationname.cpp  2011-08-13 
18:32:33.000000000 +0200
@@ -51,6 +51,9 @@
             << std::endl;
         #endif
 
+        // initialize to unknown
+        _name = Unknown;
+
         if( pidAppName == "opera" ) _name = Opera;
         else if( pidAppName.find( "komodo" ) != std::string::npos ) _name = 
Komodo;
         else if( gtkAppName == "eclipse" || gtkAppName == "Eclipse" ) _name = 
Eclipse;
@@ -60,17 +63,36 @@
             else _name = Java;
 
         } else if( gtkAppName == "acroread" ) _name = Acrobat;
-        else if( gtkAppName.find("firefox") == 0 ) _name = Firefox;
-        else if( gtkAppName.find("xulrunner") == 0 ) _name = Xul;
-        else if( gtkAppName.find("thunderbird") == 0 ) _name = Thunderbird;
-        else if( gtkAppName.find("seamonkey" ) == 0 ) _name = Seamonkey;
         else if( gtkAppName == "soffice" ) _name = OpenOffice;
         else if( gtkAppName == "gimp" ) _name = Gimp;
         else if(
             gtkAppName == "chromium" ||
             gtkAppName == "chromium-browser" ||
             gtkAppName == "google-chrome" ) _name = GoogleChrome;
-        else _name = Unknown;
+        else {
+
+            // tag all mozilla-like applications (XUL)
+            static const std::string XulAppNames[] =
+            {
+                "firefox",
+                "thunderbird",
+                "seamonkey"
+                "iceweasel",
+                "icecat",
+                "icedove",
+                "xulrunner",
+                ""
+            };
+
+            for( unsigned int index = 0; !XulAppNames[index].empty(); ++index )
+            {
+                if( gtkAppName.find( XulAppNames[index] ) == 0 )
+                {
+                    _name = XUL;
+                    break;
+                }
+            }
+        }
 
         #if OXYGEN_DEBUG
         std::cerr << "ApplicationName::initialize -"
@@ -84,9 +106,9 @@
     }
 
     
//__________________________________________________________________________
-    bool ApplicationName::isMozilla( GtkWidget* widget ) const
+    bool ApplicationName::isXul( GtkWidget* widget ) const
     {
-        if( !isMozilla() ) return false;
+        if( !isXul() ) return false;
 
         GtkWidget* parent( gtk_widget_get_toplevel( widget ) );
 
@@ -128,7 +150,7 @@
         // check application name
         if( !(
             isKomodo() ||
-            isMozilla() ||
+            isXul() ||
             isAcrobat() ||
             isJavaSwt() ||
             isOpenOffice() ||
@@ -193,10 +215,7 @@
             case Unknown: out << "Unknown"; break;
             case Komodo: out << "Komodo"; break;
             case Acrobat: out << "Acrobat"; break;
-            case Firefox: out << "Firefox"; break;
-            case Seamonkey: out << "Seamonkey"; break;
-            case Thunderbird: out << "Thunderbird"; break;
-            case Xul: out << "Xul"; break;
+            case XUL: out << "XUL (Mozilla)"; break;
             case Gimp: out << "Gimp"; break;
             case OpenOffice: out << "OpenOffice"; break;
             case GoogleChrome: out << "GoogleChrome"; break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenapplicationname.h 
new/oxygen-gtk-1.1.2/src/oxygenapplicationname.h
--- old/oxygen-gtk-1.1.1/src/oxygenapplicationname.h    2011-07-14 
09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/src/oxygenapplicationname.h    2011-08-13 
18:32:33.000000000 +0200
@@ -37,10 +37,7 @@
     {
         Unknown,
         Acrobat,
-        Firefox,
-        Seamonkey,
-        Thunderbird,
-        Xul,
+        XUL,
         Gimp,
         OpenOffice,
         GoogleChrome,
@@ -81,12 +78,8 @@
         //@{
 
         bool isAcrobat( void ) const { return _name == Acrobat; }
-        bool isFirefox( void ) const { return _name == Firefox; }
         bool isKomodo( void ) const { return _name == Komodo; }
-        bool isThunderbird( void ) const { return _name == Thunderbird; }
-        bool isSeamonkey( void ) const { return _name == Seamonkey; }
-        bool isXul( void ) const { return _name == Xul; }
-        bool isMozilla( void ) const { return isFirefox() || isThunderbird() 
|| isSeamonkey() || isXul(); }
+        bool isXul( void ) const { return _name == XUL; }
         bool isGimp( void ) const { return _name == Gimp; }
         bool isOpenOffice( void ) const { return _name == OpenOffice; }
         bool isGoogleChrome( void ) const { return _name == GoogleChrome; }
@@ -100,7 +93,7 @@
         //! special case for mozilla and acrobat that also check the type of 
the top level widget
         /*! this allows to prevent false positive for open and print dialogs */
         bool isAcrobat( GtkWidget* ) const;
-        bool isMozilla( GtkWidget* ) const;
+        bool isXul( GtkWidget* ) const;
         bool isJavaSwt( GtkWidget* ) const;
 
         // true for all applications that requires a flat background to be used
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenargbhelper.cpp 
new/oxygen-gtk-1.1.2/src/oxygenargbhelper.cpp
--- old/oxygen-gtk-1.1.1/src/oxygenargbhelper.cpp       2011-07-14 
09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/src/oxygenargbhelper.cpp       2011-08-13 
18:32:33.000000000 +0200
@@ -64,12 +64,11 @@
 
         if( _hooksInitialized ) return;
 
-        // lookup relevant signal
-        const guint signalId( g_signal_lookup("style-set", GTK_TYPE_WINDOW ) );
-        if( signalId <= 0 ) return;
+        // colormap hooks
+        if( !_colormapHook.connect( "style-set", 
(GSignalEmissionHook)colormapHook, 0L ) )
+        { return; }
 
-        // install hooks
-        _colormapHook.connect( "style-set", (GSignalEmissionHook)colormapHook, 
0L );
+        // parent-set hook
         _styleHook.connect( "parent-set", (GSignalEmissionHook)styleHook, this 
);
 
         /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygendbus.cpp 
new/oxygen-gtk-1.1.2/src/oxygendbus.cpp
--- old/oxygen-gtk-1.1.1/src/oxygendbus.cpp     2011-07-14 09:05:19.000000000 
+0200
+++ new/oxygen-gtk-1.1.2/src/oxygendbus.cpp     2011-08-13 18:32:33.000000000 
+0200
@@ -92,11 +92,13 @@
     {
 
         #if OXYGEN_DEBUG
+        const char* path( dbus_message_get_path( message ) );
+        const char* interface( dbus_message_get_interface( message ) );
         std::cerr
             << "Oxygen::DBus::signalFilter - received signal"
             << " type: " << dbus_message_get_type( message )
-            << " path: " << dbus_message_get_path( message )
-            << " interface: " << dbus_message_get_interface( message )
+            << " path: " << (path ? path:"0x0")
+            << " interface: " << (interface ? interface:"0x0")
             << std::endl;
         #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygengtktypenames.cpp 
new/oxygen-gtk-1.1.2/src/oxygengtktypenames.cpp
--- old/oxygen-gtk-1.1.1/src/oxygengtktypenames.cpp     2011-07-14 
09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/src/oxygengtktypenames.cpp     2011-08-13 
18:32:33.000000000 +0200
@@ -130,20 +130,20 @@
     typedef Gtk::TypeNames::Entry<GdkWindowTypeHint> WindowTypeHintMap;
     static const WindowTypeHintMap windowTypeHintMap[] =
     {
-        { GDK_WINDOW_TYPE_HINT_NORMAL, "normal" },
+        { GDK_WINDOW_TYPE_HINT_COMBO, "combobox list" },
+        { GDK_WINDOW_TYPE_HINT_DESKTOP, "desktop" },
         { GDK_WINDOW_TYPE_HINT_DIALOG, "dialog" },
-        { GDK_WINDOW_TYPE_HINT_MENU, "menu" },
-        { GDK_WINDOW_TYPE_HINT_TOOLBAR, "toolbar" },
-        { GDK_WINDOW_TYPE_HINT_SPLASHSCREEN, "splashscreen" },
-        { GDK_WINDOW_TYPE_HINT_UTILITY, "utility" },
+        { GDK_WINDOW_TYPE_HINT_DND, "drag-and-drop" },
         { GDK_WINDOW_TYPE_HINT_DOCK, "dock" },
-        { GDK_WINDOW_TYPE_HINT_DESKTOP, "desktop" },
         { GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU, "dropdown menu" },
+        { GDK_WINDOW_TYPE_HINT_MENU, "menu" },
+        { GDK_WINDOW_TYPE_HINT_NORMAL, "normal" },
+        { GDK_WINDOW_TYPE_HINT_NOTIFICATION, "notification" },
         { GDK_WINDOW_TYPE_HINT_POPUP_MENU, "popup menu" },
+        { GDK_WINDOW_TYPE_HINT_SPLASHSCREEN, "splashscreen" },
+        { GDK_WINDOW_TYPE_HINT_TOOLBAR, "toolbar" },
         { GDK_WINDOW_TYPE_HINT_TOOLTIP, "tooltip" },
-        { GDK_WINDOW_TYPE_HINT_NOTIFICATION, "notification" },
-        { GDK_WINDOW_TYPE_HINT_COMBO, "combobox list" },
-        { GDK_WINDOW_TYPE_HINT_DND, "drag-and-drop" }
+        { GDK_WINDOW_TYPE_HINT_UTILITY, "utility" }
     };
 
     //__________________________________________________________________
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenshadowhelper.cpp 
new/oxygen-gtk-1.1.2/src/oxygenshadowhelper.cpp
--- old/oxygen-gtk-1.1.1/src/oxygenshadowhelper.cpp     2011-07-14 
09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/src/oxygenshadowhelper.cpp     2011-08-13 
18:32:33.000000000 +0200
@@ -20,6 +20,7 @@
 
 #include "oxygencairocontext.h"
 #include "oxygencairoutils.h"
+#include "config.h"
 #include "oxygengtkutils.h"
 #include "oxygenmetrics.h"
 #include "oxygenrgba.h"
@@ -49,6 +50,10 @@
     void ShadowHelper::reset( void )
     {
 
+        #if OXYGEN_DEBUG
+        std::cerr << "Oxygen::ShadowHelper::reset" << std::endl;
+        #endif
+
         GdkScreen* screen = gdk_screen_get_default();
         if( !screen ) return;
 
@@ -74,6 +79,10 @@
     {
        if( _hooksInitialized ) return;
 
+        #if OXYGEN_DEBUG
+        std::cerr << "Oxygen::ShadowHelper::initializeHooks" << std::endl;
+        #endif
+
         // install hooks
         _realizeHook.connect( "realize", (GSignalEmissionHook)realizeHook, 
this );
         _hooksInitialized = true;
@@ -83,6 +92,11 @@
     //______________________________________________
     void ShadowHelper::initialize( const ColorUtils::Rgba& color, const 
WindowShadow& shadow )
     {
+
+        #if OXYGEN_DEBUG
+        std::cerr << "Oxygen::ShadowHelper::initialize" << std::endl;
+        #endif
+
         reset();
         _size = int(shadow.shadowSize()) - WindowShadow::Overlap;
 
@@ -185,12 +199,39 @@
     void ShadowHelper::createPixmapHandles( void )
     {
 
+        #if OXYGEN_DEBUG
+        std::cerr << "Oxygen::ShadowHelper::createPixmapHandles" << std::endl;
+        #endif
+
         // 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
@@ -199,11 +240,28 @@
         // 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();
+            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 ) );
@@ -272,6 +330,14 @@
     void ShadowHelper::installX11Shadows( GtkWidget* widget )
     {
 
+        #if OXYGEN_DEBUG
+        std::cerr
+            << "Oxygen::ShadowHelper::installX11Shadows - "
+            << " widget: " << widget
+            << " wid: " << GDK_WINDOW_XID( gtk_widget_get_window( widget ) )
+            << std::endl;
+        #endif
+
         // make sure handles and atom are defined
         createPixmapHandles();
 
@@ -281,7 +347,7 @@
         std::vector<unsigned long> data;
         const bool isMenu( this->isMenu( widget ) );
         const bool isToolTip( this->isToolTip( widget ) );
-        if( _applicationName.isOpenOffice() || ( (isMenu||isToolTip) && 
_applicationName.isMozilla( widget ) ) )
+        if( _applicationName.isOpenOffice() || ( (isMenu||isToolTip) && 
_applicationName.isXul( widget ) ) )
         {
 
             data = _squarePixmaps;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenstyle.cpp 
new/oxygen-gtk-1.1.2/src/oxygenstyle.cpp
--- old/oxygen-gtk-1.1.1/src/oxygenstyle.cpp    2011-07-14 09:05:19.000000000 
+0200
+++ new/oxygen-gtk-1.1.2/src/oxygenstyle.cpp    2011-08-13 18:32:33.000000000 
+0200
@@ -87,12 +87,7 @@
         }
 
         // background surface
-        if( !settings().backgroundPixmap().empty() )
-        {
-            setBackgroundSurface( settings().backgroundPixmap() );
-            if( !hasBackgroundSurface() )
-            { std::cerr << "Oxygen::Style::initialize - unable to load 
background image: " << settings().backgroundPixmap() << std::endl; }
-        }
+        if( !settings().backgroundPixmap().empty() ) setBackgroundSurface( 
settings().backgroundPixmap() );
 
         // create window shadow
         WindowShadow shadow( settings(), helper() );
@@ -1826,7 +1821,7 @@
 
             // we force ytickness in gtkrc to emulate Qt menubar/menu space 
separation
             // so adjust vertical extent of the rect in menubar
-            if( settings().applicationName().isMozilla() )
+            if( settings().applicationName().isXul() )
             {
 
                 y+=3;
@@ -2734,7 +2729,7 @@
         // this is quite painfull and slipery code.
         // the same is true with oxygen-qt
         int offset = 2;
-        int adjust = ( tabOptions&Mozilla ) ? 0:2;
+        int adjust = ( tabOptions&Xul ) ? 0:2;
         const TileSet::Tiles tabTiles( Style::tabTiles( side )  );
 
         SlabRect tabSlab;
@@ -2827,30 +2822,25 @@
 
         // fill
         Cairo::Pattern pattern;
-        int dimension = 0;
         switch( side )
         {
             case GTK_POS_BOTTOM:
-            dimension = fillSlab._h;
             fillSlab._h -= 2;
             pattern.set( cairo_pattern_create_linear( 0, fillSlab._y, 0, 
fillSlab._y + fillSlab._h ) );
             break;
 
             case GTK_POS_TOP:
-            dimension = fillSlab._h;
             fillSlab._y += 2;
             fillSlab._h -= 2;
             pattern.set( cairo_pattern_create_linear( 0, fillSlab._y + 
fillSlab._h, 0, fillSlab._y ) );
             break;
 
             case GTK_POS_RIGHT:
-            dimension = fillSlab._w;
             fillSlab._w -= 2;
             pattern.set( cairo_pattern_create_linear( fillSlab._x, 0, 
fillSlab._x + fillSlab._w, 0 ) );
             break;
 
             case GTK_POS_LEFT:
-            dimension = fillSlab._w;
             fillSlab._x += 2;
             fillSlab._w -= 2;
             pattern.set( cairo_pattern_create_linear( fillSlab._x + 
fillSlab._w, 0, fillSlab._x, 0 ) );
@@ -2867,7 +2857,7 @@
         cairo_pattern_add_color_stop( pattern, 0.9, 
ColorUtils::Rgba::transparent( light ) );
 
         // in firefox a solid background must be filled
-        if( tabOptions&Mozilla )
+        if( tabOptions&Xul )
         {
             cairo_set_source( context, base );
             cairo_rectangle( context, fillSlab._x, fillSlab._y, fillSlab._w, 
fillSlab._h );
@@ -2913,7 +2903,7 @@
         // this is quite painfull and slipery code.
         // the same is true with oxygen-qt
         int offset = 2;
-        int adjust = (tabOptions&Mozilla) ? 0:2;
+        int adjust = (tabOptions&Xul) ? 0:2;
         const TileSet::Tiles tabTiles( Style::tabTiles( side )  );
 
         SlabRect tabSlab;
@@ -3000,30 +2990,25 @@
 
         // fill
         Cairo::Pattern pattern;
-        int dimension = 0;
         switch( side )
         {
             case GTK_POS_BOTTOM:
-            dimension = fillSlab._h;
             fillSlab._h -= 3;
             pattern.set( cairo_pattern_create_linear( 0, fillSlab._y, 0, 
fillSlab._y + fillSlab._h ) );
             break;
 
             case GTK_POS_TOP:
-            dimension = fillSlab._h;
             fillSlab._y += 3;
             fillSlab._h -= 3;
             pattern.set( cairo_pattern_create_linear( 0, fillSlab._y + 
fillSlab._h, 0, fillSlab._y ) );
             break;
 
             case GTK_POS_RIGHT:
-            dimension = fillSlab._w;
             fillSlab._w -= 3;
             pattern.set( cairo_pattern_create_linear( fillSlab._x, 0, 
fillSlab._x + fillSlab._w, 0 ) );
             break;
 
             case GTK_POS_LEFT:
-            dimension = fillSlab._w;
             fillSlab._x += 3;
             fillSlab._w -= 3;
             pattern.set( cairo_pattern_create_linear( fillSlab._x + 
fillSlab._w, 0, fillSlab._x, 0 ) );
@@ -3089,7 +3074,7 @@
         // this is quite painfull and slipery code.
         // the same is true with oxygen-qt
         int offset = 2;
-        int adjust = (tabOptions&Mozilla) ? 0:2;
+        int adjust = (tabOptions&Xul) ? 0:2;
         const TileSet::Tiles tabTiles( Style::tabTiles( side )  );
 
         SlabRect tabSlab;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenstylewrapper.cpp 
new/oxygen-gtk-1.1.2/src/oxygenstylewrapper.cpp
--- old/oxygen-gtk-1.1.1/src/oxygenstylewrapper.cpp     2011-07-14 
09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/src/oxygenstylewrapper.cpp     2011-08-13 
18:32:33.000000000 +0200
@@ -245,7 +245,7 @@
             // mozilla and openoffice get square non Argb tooltips no matter 
what
             if(
                 Style::instance().settings().applicationName().isOpenOffice() 
||
-                Style::instance().settings().applicationName().isMozilla() )
+                Style::instance().settings().applicationName().isXul() )
             {
                 Style::instance().renderTooltipBackground( window, clipRect, 
x, y, w, h, StyleOptions() );
                 return;
@@ -457,7 +457,7 @@
             }
             return;
 
-        } else if( d.isEntryBg() && 
!Style::instance().settings().applicationName().isMozilla( widget ) ) {
+        } else if( d.isEntryBg() && 
!Style::instance().settings().applicationName().isXul( widget ) ) {
 
             StyleOptions options( widget, state, shadow );
             if(
@@ -860,7 +860,7 @@
             // combobox buttons
             if(
                 ( parent = Gtk::gtk_parent_combobox( widget ) ) &&
-                !Style::instance().settings().applicationName().isMozilla( 
widget ) &&
+                !Style::instance().settings().applicationName().isXul( widget 
) &&
                 Gtk::gtk_combobox_appears_as_list( parent )
                 )
             {
@@ -1140,7 +1140,7 @@
 
                 if(
                     Gtk::gdk_window_is_base( window ) &&
-                    !Style::instance().settings().applicationName().isMozilla( 
widget ) )
+                    !Style::instance().settings().applicationName().isXul( 
widget ) )
                 {
                     BackgroundHints hints( BackgroundGradient );
                     if( Style::instance().hasBackgroundSurface() ) hints |= 
BackgroundPixmap;
@@ -1154,7 +1154,7 @@
                 StyleOptions options( Menu );
 
                 // set alpha flag. Special handling is needed for mozilla and 
openoffice.
-                if( Style::instance().settings().applicationName().isMozilla( 
widget ) ||
+                if( Style::instance().settings().applicationName().isXul( 
widget ) ||
                     
Style::instance().settings().applicationName().isOpenOffice() )
                 {
 
@@ -1317,7 +1317,7 @@
             if( GTK_IS_PROGRESS_BAR( widget ) )
             {
 
-                if( !Style::instance().settings().applicationName().isMozilla( 
widget ) &&
+                if( !Style::instance().settings().applicationName().isXul( 
widget ) &&
                     
!Style::instance().settings().applicationName().isOpenOffice() )
                 {
                     /*
@@ -1400,7 +1400,7 @@
 
                 options |= NoFill;
                 ColorUtils::Rgba background( Gtk::gdk_get_color( 
style->base[gtk_widget_get_state(widget)] ) );
-                if( Style::instance().settings().applicationName().isMozilla( 
widget ) )
+                if( Style::instance().settings().applicationName().isXul( 
widget ) )
                 {
 
                     /*
@@ -1434,7 +1434,7 @@
                 tiles &= ~TileSet::Right;
 
                 if( 
!Style::instance().settings().applicationName().isOpenOffice() &&
-                    !Style::instance().settings().applicationName().isMozilla( 
widget ) )
+                    !Style::instance().settings().applicationName().isXul( 
widget ) )
                 { Style::instance().renderHoleBackground( window, widget, 
clipRect, x-1, y-1, w+6, h+2, tiles, sideMargin ); }
 
                 // shrink spinbox entry hole by 3px on right side
@@ -1447,7 +1447,7 @@
                 tiles &= ~TileSet::Left;
 
                 if( 
!Style::instance().settings().applicationName().isOpenOffice() &&
-                    !Style::instance().settings().applicationName().isMozilla( 
widget ) )
+                    !Style::instance().settings().applicationName().isXul( 
widget ) )
                 { Style::instance().renderHoleBackground( window, widget, 
clipRect, x-5, y-1, w+6, h+2, tiles, sideMargin ); }
 
                 // shrink spinbox entry hole by 3px on right side
@@ -1659,7 +1659,7 @@
 
         } else if( d.isBase() && GTK_IS_MENU( widget ) ) {
 
-                // this is to prevent crappy mozilla to
+                // this is to prevent mozilla to
                 // draw yet another frame around menus
                 return;
 
@@ -1753,7 +1753,7 @@
                 if( Style::instance().animations().hoverEngine().hovered( 
widget ) )
                 { options |= Hover; }
 
-                if( !Style::instance().settings().applicationName().isMozilla( 
widget ) )
+                if( !Style::instance().settings().applicationName().isXul( 
widget ) )
                 {
 
                     // fill the inside of the spinbox manually
@@ -1867,7 +1867,7 @@
                     w+=2; h+=2;
 
                     const int sideMargin( std::max( 0, style->xthickness - 2 ) 
);
-                    if( 
!Style::instance().settings().applicationName().isMozilla( widget ) )
+                    if( !Style::instance().settings().applicationName().isXul( 
widget ) )
                     { Style::instance().renderHoleBackground( window, widget, 
clipRect, x, y, w, h, TileSet::Full, sideMargin ); }
 
                     // shrink entry by 3px at each side
@@ -1935,7 +1935,7 @@
         } else if(
             (parent = Gtk::gtk_parent_combobox( widget )) &&
             !GTK_IS_CELL_VIEW( widget ) &&
-            !Style::instance().settings().applicationName().isMozilla( widget 
) ) {
+            !Style::instance().settings().applicationName().isXul( widget ) ) {
 
             Style::instance().animations().comboBoxEngine().registerWidget( 
parent );
             Style::instance().animations().comboBoxEngine().registerChild( 
parent, widget );
@@ -2400,7 +2400,7 @@
 
         // by default all arrows are animated
         QtSettings::ArrowSize arrowSize( QtSettings::ArrowNormal );
-        if( d.isMenuItem() && 
Style::instance().settings().applicationName().isMozilla( widget ) )
+        if( d.isMenuItem() && 
Style::instance().settings().applicationName().isXul( widget ) )
         { arrowSize = QtSettings::ArrowTiny; }
 
         // define default color role
@@ -2824,7 +2824,7 @@
             options |= NoFill;
             options &= ~(Hover|Focus);
 
-            if( Style::instance().settings().applicationName().isMozilla( 
widget ) )
+            if( Style::instance().settings().applicationName().isXul( widget ) 
)
             {
 
                 Gtk::Gap gap( gap_x, gap_w, position );
@@ -3012,14 +3012,14 @@
             see if tab is hovered. This is only done if widget is notebook, 
and if not running a mozilla
             (or open office) app, because the latter do not pass the actual 
tab rect as argument
             */
-            const bool isMozilla( 
Style::instance().settings().applicationName().isMozilla( widget ) );
+            const bool isXul( 
Style::instance().settings().applicationName().isXul( widget ) );
             const bool isOpenOffice( 
Style::instance().settings().applicationName().isOpenOffice() );
 
             // if passed window is invalid, do not hover
             const bool disableHover( !GDK_IS_WINDOW( window ) );
 
             AnimationData data;
-            if( GTK_IS_NOTEBOOK( widget ) && !( isMozilla || isOpenOffice || 
disableHover ) )
+            if( GTK_IS_NOTEBOOK( widget ) && !( isXul || isOpenOffice || 
disableHover ) )
             {
 
                 // make sure widget is registered
@@ -3072,7 +3072,7 @@
             }
 
             // render
-            if( isMozilla ) tabOptions |= Mozilla;
+            if( isXul ) tabOptions |= Xul;
 
             Style::instance().renderTab( window, clipRect, x, y, w, h, 
position, options, tabOptions, data );
 
@@ -3460,7 +3460,7 @@
         // initialize argb hooks
         if(
             Style::instance().settings().argbEnabled() &&
-            !Style::instance().settings().applicationName().isMozilla() )
+            !Style::instance().settings().applicationName().isXul() )
         { Style::instance().argbHelper().initializeHooks(); }
 
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygentaboptions.h 
new/oxygen-gtk-1.1.2/src/oxygentaboptions.h
--- old/oxygen-gtk-1.1.1/src/oxygentaboptions.h 2011-07-14 09:05:19.000000000 
+0200
+++ new/oxygen-gtk-1.1.2/src/oxygentaboptions.h 2011-08-13 18:32:33.000000000 
+0200
@@ -46,8 +46,8 @@
         //! true if tab is being dragged
         Dragged = 1<<7,
 
-        //! true if tabs are drawn for mozilla application
-        Mozilla = 1<<8
+        //! true if tabs are drawn for Xul application
+        Xul = 1<<8
 
     };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenwindowmanager.cpp 
new/oxygen-gtk-1.1.2/src/oxygenwindowmanager.cpp
--- old/oxygen-gtk-1.1.1/src/oxygenwindowmanager.cpp    2011-07-14 
09:05:19.000000000 +0200
+++ new/oxygen-gtk-1.1.2/src/oxygenwindowmanager.cpp    2011-08-13 
18:32:33.000000000 +0200
@@ -472,6 +472,15 @@
 
         } else {
 
+            if( GTK_IS_WINDOW( widget ) )
+            {
+
+                // check hint
+                const GdkWindowTypeHint hint( gtk_window_get_type_hint( 
GTK_WINDOW( widget ) ) );
+                if( hint == GDK_WINDOW_TYPE_HINT_UTILITY ) return false;
+
+            }
+
             useEvent = childrenUseEvent( widget, event, false );
 
         }


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



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to