fix menu breakage
This commit is contained in:
parent
d42467d5e2
commit
78f50a0176
@ -16,7 +16,7 @@
|
|||||||
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
|
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
|
||||||
Name: gtk2
|
Name: gtk2
|
||||||
Version: %{base_version}
|
Version: %{base_version}
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
Source: http://download.gnome.org/sources/gtk+/2.13/gtk+-%{version}.tar.bz2
|
Source: http://download.gnome.org/sources/gtk+/2.13/gtk+-%{version}.tar.bz2
|
||||||
@ -30,6 +30,8 @@ Patch1: gtk+-2.11.1-set-invisible-char-to-bullet.patch
|
|||||||
# a workaround for some brokenness in the flash plugin
|
# a workaround for some brokenness in the flash plugin
|
||||||
# see http://bugzilla.gnome.org/show_bug.cgi?id=463773
|
# see http://bugzilla.gnome.org/show_bug.cgi?id=463773
|
||||||
Patch2: workaround.patch
|
Patch2: workaround.patch
|
||||||
|
# from upstream svn
|
||||||
|
Patch3: menu-breakage.patch
|
||||||
|
|
||||||
BuildRequires: atk-devel >= %{atk_version}
|
BuildRequires: atk-devel >= %{atk_version}
|
||||||
BuildRequires: pango-devel >= %{pango_version}
|
BuildRequires: pango-devel >= %{pango_version}
|
||||||
@ -115,6 +117,7 @@ docs for the GTK+ widget toolkit.
|
|||||||
%patch0 -p1 -b .lib64
|
%patch0 -p1 -b .lib64
|
||||||
%patch1 -p1 -b .set-invisible-char-to-bullet
|
%patch1 -p1 -b .set-invisible-char-to-bullet
|
||||||
%patch2 -p1 -b .workaround
|
%patch2 -p1 -b .workaround
|
||||||
|
%patch3 -p1 -b .menu-breakage
|
||||||
|
|
||||||
for i in config.guess config.sub ; do
|
for i in config.guess config.sub ; do
|
||||||
test -f %{_datadir}/libtool/$i && cp %{_datadir}/libtool/$i .
|
test -f %{_datadir}/libtool/$i && cp %{_datadir}/libtool/$i .
|
||||||
@ -298,6 +301,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_datadir}/gtk-2.0
|
%{_datadir}/gtk-2.0
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Aug 9 2008 Matthias Clasen <mclasen@redhat.com> - 2.13.6-2
|
||||||
|
- Fix menu breakage
|
||||||
|
|
||||||
* Tue Aug 5 2008 Matthias Clasen <mclasen@redhat.com> - 2.13.6-1
|
* Tue Aug 5 2008 Matthias Clasen <mclasen@redhat.com> - 2.13.6-1
|
||||||
- Update to 2.13.6
|
- Update to 2.13.6
|
||||||
|
|
||||||
|
54
menu-breakage.patch
Normal file
54
menu-breakage.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
diff -up gtk+-2.13.6/gtk/gtkmenu.c.menu-breakage gtk+-2.13.6/gtk/gtkmenu.c
|
||||||
|
--- gtk+-2.13.6/gtk/gtkmenu.c.menu-breakage 2008-08-09 23:07:35.000000000 -0400
|
||||||
|
+++ gtk+-2.13.6/gtk/gtkmenu.c 2008-08-09 23:08:04.000000000 -0400
|
||||||
|
@@ -3623,6 +3623,11 @@ gtk_menu_enter_notify (GtkWidget
|
||||||
|
GtkWidget *menu_item;
|
||||||
|
gboolean touchscreen_mode;
|
||||||
|
|
||||||
|
+ if (event->mode == GDK_CROSSING_GTK_GRAB ||
|
||||||
|
+ event->mode == GDK_CROSSING_GTK_UNGRAB ||
|
||||||
|
+ event->mode == GDK_CROSSING_STATE_CHANGED)
|
||||||
|
+ return TRUE;
|
||||||
|
+
|
||||||
|
g_object_get (gtk_widget_get_settings (widget),
|
||||||
|
"gtk-touchscreen-mode", &touchscreen_mode,
|
||||||
|
NULL);
|
||||||
|
@@ -3694,6 +3699,11 @@ gtk_menu_leave_notify (GtkWidget
|
||||||
|
GtkMenuItem *menu_item;
|
||||||
|
GtkWidget *event_widget;
|
||||||
|
|
||||||
|
+ if (event->mode == GDK_CROSSING_GTK_GRAB ||
|
||||||
|
+ event->mode == GDK_CROSSING_GTK_UNGRAB ||
|
||||||
|
+ event->mode == GDK_CROSSING_STATE_CHANGED)
|
||||||
|
+ return TRUE;
|
||||||
|
+
|
||||||
|
menu = GTK_MENU (widget);
|
||||||
|
menu_shell = GTK_MENU_SHELL (widget);
|
||||||
|
|
||||||
|
diff -up gtk+-2.13.6/gtk/gtkmenushell.c.menu-breakage gtk+-2.13.6/gtk/gtkmenushell.c
|
||||||
|
--- gtk+-2.13.6/gtk/gtkmenushell.c.menu-breakage 2008-08-09 23:07:44.000000000 -0400
|
||||||
|
+++ gtk+-2.13.6/gtk/gtkmenushell.c 2008-08-09 23:08:40.000000000 -0400
|
||||||
|
@@ -802,6 +802,11 @@ gtk_menu_shell_enter_notify (GtkWidget
|
||||||
|
{
|
||||||
|
GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget);
|
||||||
|
|
||||||
|
+ if (event->mode == GDK_CROSSING_GTK_GRAB ||
|
||||||
|
+ event->mode == GDK_CROSSING_GTK_UNGRAB ||
|
||||||
|
+ event->mode == GDK_CROSSING_STATE_CHANGED)
|
||||||
|
+ return TRUE;
|
||||||
|
+
|
||||||
|
if (menu_shell->active)
|
||||||
|
{
|
||||||
|
GtkWidget *menu_item;
|
||||||
|
@@ -867,6 +872,11 @@ static gint
|
||||||
|
gtk_menu_shell_leave_notify (GtkWidget *widget,
|
||||||
|
GdkEventCrossing *event)
|
||||||
|
{
|
||||||
|
+ if (event->mode == GDK_CROSSING_GTK_GRAB ||
|
||||||
|
+ event->mode == GDK_CROSSING_GTK_UNGRAB ||
|
||||||
|
+ event->mode == GDK_CROSSING_STATE_CHANGED)
|
||||||
|
+ return TRUE;
|
||||||
|
+
|
||||||
|
if (GTK_WIDGET_VISIBLE (widget))
|
||||||
|
{
|
||||||
|
GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget);
|
Loading…
Reference in New Issue
Block a user