Hello community,

here is the log from the commit of package xfdesktop for openSUSE:Factory 
checked in at 2012-04-19 10:42:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfdesktop (Old)
 and      /work/SRC/openSUSE:Factory/.xfdesktop.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xfdesktop", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/xfdesktop/xfdesktop.changes      2011-10-28 
15:30:03.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xfdesktop.new/xfdesktop.changes 2012-04-19 
10:42:53.000000000 +0200
@@ -1,0 +2,14 @@
+Sat Apr  7 22:06:13 UTC 2012 - [email protected]
+
+- added xfdesktop-fix-slow-popup-menu.patch which adds a check for
+  GDK_GRAB_INVALID_TIME in xfdesktop_popup_grab_available to
+  mitigate slow menu popups on a right mouse click (bnc#669768,
+  bxo#7172)
+
+-------------------------------------------------------------------
+Thu Mar 29 21:44:16 UTC 2012 - [email protected]
+
+- split off -lang subpackage
+- specfile cleanup
+
+-------------------------------------------------------------------

New:
----
  xfdesktop-fix-slow-popup-menu.patch

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

Other differences:
------------------
++++++ xfdesktop.spec ++++++
--- /var/tmp/diff_new_pack.mBFGDy/_old  2012-04-19 10:42:54.000000000 +0200
+++ /var/tmp/diff_new_pack.mBFGDy/_new  2012-04-19 10:42:54.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package xfdesktop
 #
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,31 +16,37 @@
 #
 
 
-
 Name:           xfdesktop
 Version:        4.8.3
-Release:        1
+Release:        0
+Summary:        Desktop Manager for the Xfce Desktop Environment
 License:        GPL-2.0+
-Summary:        Desktop manager for the Xfce Desktop Environment
-Url:            http://www.xfce.org/projects/xfdesktop/
 Group:          System/GUI/XFCE
-Source0:        %{name}-%{version}.tar.bz2
+Url:            http://docs.xfce.org/xfce/xfdesktop/start
+Source0:        
http://archive.xfce.org/src/xfce/xfdesktop/4.8/%{name}-%{version}.tar.bz2
 Source1:        xfce4-desktop.xml
+# PATCH-FIX-UPSTREAM xfdesktop-fix-slow-popup-menu.patch bnc#669768 bxo#7172 
[email protected] -- Adds a check for GDK_GRAB_INVALID_TIME in 
xfdesktop_popup_grab_available to mitigate slow menu popups on a right mouse 
click (backported from upstream git)
+Patch0:         xfdesktop-fix-slow-popup-menu.patch
 BuildRequires:  fdupes
 BuildRequires:  intltool
-BuildRequires:  pkgconfig(garcon-1)
+BuildRequires:  update-desktop-files
+BuildRequires:  pkgconfig(dbus-glib-1)
 BuildRequires:  pkgconfig(exo-1)
+BuildRequires:  pkgconfig(garcon-1)
+BuildRequires:  pkgconfig(gio-2.0)
+BuildRequires:  pkgconfig(gio-unix-2.0)
+BuildRequires:  pkgconfig(gmodule-2.0)
+BuildRequires:  pkgconfig(gobject-2.0)
+BuildRequires:  pkgconfig(gthread-2.0)
 BuildRequires:  pkgconfig(gtk+-2.0)
-BuildRequires:  pkgconfig(dbus-glib-1)
 BuildRequires:  pkgconfig(libnotify)
-BuildRequires:  pkgconfig(libstartup-notification-1.0)
 BuildRequires:  pkgconfig(libwnck-1.0)
 BuildRequires:  pkgconfig(libxfce4ui-1)
 BuildRequires:  pkgconfig(libxfce4util-1.0)
-BuildRequires:  pkgconfig(thunarx-2)
 BuildRequires:  pkgconfig(libxfconf-0)
-BuildRequires:  update-desktop-files
-Requires:       %{name}-branding >= %{version}
+BuildRequires:  pkgconfig(thunarx-2)
+Requires:       %{name}-branding = %{version}
+Recommends:     %{name}-lang = %{version}
 Provides:       xfce4-desktop = %{version}
 Obsoletes:      xfce4-desktop < %{version}
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -53,8 +59,8 @@
 background images, as well as real multiscreen and xinerama support.
 
 %package branding-upstream
-License:        GPL-2.0+
-Summary:        Upstream branding of xfce4-settings
+Summary:        Upstream Branding of xfce4-settings
+Group:          System/GUI/XFCE
 # BRAND: xfce4-desktop.xml: Control desktop appearance such as the default
 # BRAND: backdrop image.
 Conflicts:      otherproviders(%{name}-branding)
@@ -67,8 +73,11 @@
 %description branding-upstream
 This package provides the upstream look and feel for the Xfce Desktop Manager.
 
+%lang_package
+
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 export CFLAGS="%{optflags} -fno-strict-aliasing"
@@ -77,18 +86,21 @@
 
 %install
 %make_install
+
 install -D -p -m 644 %{SOURCE1} \
     
%{buildroot}%{_sysconfdir}/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
+
 %suse_update_desktop_file xfce-backdrop-settings
+
 rm -rf %{buildroot}%{_datadir}/locale/{ast,kk,tl_PH,ur_PK}
-%find_lang %{name}
+
+%find_lang %{name} %{?no_lang_C}
+
 %fdupes %{buildroot}%{_datadir}
 
 %clean
 rm -rf %{buildroot}
 
-%if 0%{?suse_version} >= 1140
-
 %post
 %desktop_database_post
 %icon_theme_cache_post
@@ -96,9 +108,8 @@
 %postun
 %desktop_database_postun
 %icon_theme_cache_postun
-%endif
 
-%files -f %name.lang
+%files
 %defattr(-,root,root)
 %doc README COPYING AUTHORS ChangeLog TODO
 %{_bindir}/xfdesktop
@@ -114,6 +125,8 @@
 %dir %{_datadir}/xfce4/xfdesktop
 %doc %{_datadir}/xfce4/xfdesktop/html/
 
+%files lang -f %name.lang
+
 %files branding-upstream
 %defattr(-,root,root)
 %dir %{_sysconfdir}/xdg/xfce4


++++++ xfdesktop-fix-slow-popup-menu.patch ++++++
>From 803ea66061417317df2b2968a81a4cfdfd052e8d Mon Sep 17 00:00:00 2001
From: Eric Koegel <[email protected]>
Date: Mon, 05 Dec 2011 11:44:59 +0000
Subject: Added a check for GDK_GRAB_INVALID_TIME in 
xfdesktop_popup_grab_available to mitigate slow menu popups on a right mouse 
click. Fixes bug 7172.

---
diff --git a/common/xfdesktop-common.c b/common/xfdesktop-common.c
index 9e4f22c..64aee8d 100644
--- a/common/xfdesktop-common.c
+++ b/common/xfdesktop-common.c
@@ -370,7 +370,10 @@ xfdesktop_popup_grab_available (GdkWindow *win, guint32 
timestamp)
     while ((i++ < 2500) && (grab_failed = ((g1 != GDK_GRAB_SUCCESS)
                 || (g2 != GDK_GRAB_SUCCESS))))
     {
-        TRACE ("grab not available yet, waiting... (%i)", i);
+        TRACE ("grab not available yet, mouse reason: %d, keyboard reason: %d, 
waiting... (%i)", g1, g2, i);
+        if(g1 == GDK_GRAB_INVALID_TIME || g2 == GDK_GRAB_INVALID_TIME)
+            break;
+
         g_usleep (100);
         if (g1 != GDK_GRAB_SUCCESS)
         {
diff --git a/src/xfce-desktop.c b/src/xfce-desktop.c
index cd98ae7..bcd4bd8 100644
--- a/src/xfce-desktop.c
+++ b/src/xfce-desktop.c
@@ -1340,29 +1340,29 @@ xfce_desktop_do_menu_popup(XfceDesktop *desktop,
         screen = gtk_widget_get_screen(GTK_WIDGET(desktop));
     else
         screen = gdk_display_get_default_screen(gdk_display_get_default());
-    
-    menu = gtk_menu_new();
-    gtk_menu_set_screen(GTK_MENU(menu), screen);
-    g_signal_connect_swapped(G_OBJECT(menu), "deactivate",
-                             G_CALLBACK(g_idle_add),
-                             (gpointer)xfce_desktop_menu_destroy_idled);
-    
-    g_signal_emit(G_OBJECT(desktop), populate_signal, 0, menu);
-    
-    /* if nobody populated the menu, don't do anything */
-    menu_children = gtk_container_get_children(GTK_CONTAINER(menu));
-    if(!menu_children) {
-        gtk_widget_destroy(menu);
-        return;
-    }
-    
-    g_list_free(menu_children);
-    
-    gtk_menu_attach_to_widget(GTK_MENU(menu), GTK_WIDGET(desktop), NULL);
-    
+
     if(xfdesktop_popup_grab_available(gdk_screen_get_root_window(screen),
                                       activate_time))
     {
+        menu = gtk_menu_new();
+        gtk_menu_set_screen(GTK_MENU(menu), screen);
+        g_signal_connect_swapped(G_OBJECT(menu), "deactivate",
+                                 G_CALLBACK(g_idle_add),
+                                 (gpointer)xfce_desktop_menu_destroy_idled);
+
+        g_signal_emit(G_OBJECT(desktop), populate_signal, 0, menu);
+
+        /* if nobody populated the menu, don't do anything */
+        menu_children = gtk_container_get_children(GTK_CONTAINER(menu));
+        if(!menu_children) {
+            gtk_widget_destroy(menu);
+            return;
+        }
+
+        g_list_free(menu_children);
+
+        gtk_menu_attach_to_widget(GTK_MENU(menu), GTK_WIDGET(desktop), NULL);
+
         /* bug #3652: for some reason passing the correct button here breaks
          * on some systems but not others.  always pass 0 for now. */
         gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 0,
--
cgit v0.9.0.3
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to