rpms/gtk2/F-12 fresh-tooltips.patch,1.7,1.8 gtk2.spec,1.428,1.429
Matthias Clasen
mclasen at fedoraproject.org
Sat Oct 31 19:06:14 UTC 2009
Author: mclasen
Update of /cvs/pkgs/rpms/gtk2/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv17603
Modified Files:
fresh-tooltips.patch gtk2.spec
Log Message:
Handle screen changes
fresh-tooltips.patch:
gtktooltip.c | 279 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
gtkwidget.c | 8 +
2 files changed, 268 insertions(+), 19 deletions(-)
Index: fresh-tooltips.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gtk2/F-12/fresh-tooltips.patch,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- fresh-tooltips.patch 28 Oct 2009 21:32:22 -0000 1.7
+++ fresh-tooltips.patch 31 Oct 2009 19:06:13 -0000 1.8
@@ -1,6 +1,6 @@
diff -up gtk+-2.18.3/gtk/gtktooltip.c.fresh-tooltips gtk+-2.18.3/gtk/gtktooltip.c
--- gtk+-2.18.3/gtk/gtktooltip.c.fresh-tooltips 2009-10-16 10:35:45.000000000 -0400
-+++ gtk+-2.18.3/gtk/gtktooltip.c 2009-10-28 17:18:38.124009120 -0400
++++ gtk+-2.18.3/gtk/gtktooltip.c 2009-10-31 14:53:37.120183113 -0400
@@ -29,6 +29,10 @@
#include "gtkhbox.h"
#include "gtkalignment.h"
@@ -20,7 +20,7 @@ diff -up gtk+-2.18.3/gtk/gtktooltip.c.fr
G_DEFINE_TYPE (GtkTooltip, gtk_tooltip, G_TYPE_OBJECT);
-@@ -110,8 +115,25 @@ gtk_tooltip_class_init (GtkTooltipClass
+@@ -110,8 +115,43 @@ gtk_tooltip_class_init (GtkTooltipClass
}
static void
@@ -31,6 +31,25 @@ diff -up gtk+-2.18.3/gtk/gtktooltip.c.fr
+}
+
+static void
++on_screen_changed (GtkWidget *window,
++ GdkScreen *previous,
++ GtkTooltip *tooltip)
++{
++ GdkScreen *screen;
++ GdkColormap *cmap;
++
++ screen = gtk_widget_get_screen (window);
++
++ cmap = NULL;
++ if (gdk_screen_is_composited (screen))
++ cmap = gdk_screen_get_rgba_colormap (screen);
++ if (cmap == NULL)
++ cmap = gdk_screen_get_rgb_colormap (screen);
++
++ gtk_widget_set_colormap (window, cmap);
++}
++
++static void
+on_realized (GtkWidget *window,
+ GtkTooltip *tooltip)
+{
@@ -41,20 +60,16 @@ diff -up gtk+-2.18.3/gtk/gtktooltip.c.fr
gtk_tooltip_init (GtkTooltip *tooltip)
{
+ GdkScreen *screen;
-+ GdkColormap *rgba;
+
tooltip->timeout_id = 0;
tooltip->browse_mode_timeout_id = 0;
-@@ -127,8 +149,15 @@ gtk_tooltip_init (GtkTooltip *tooltip)
+@@ -127,8 +167,12 @@ gtk_tooltip_init (GtkTooltip *tooltip)
tooltip->last_window = NULL;
tooltip->window = g_object_ref (gtk_window_new (GTK_WINDOW_POPUP));
+
-+ screen = gtk_widget_get_screen (tooltip->window);
-+ rgba = gdk_screen_get_rgba_colormap (screen);
-+ if (rgba && gdk_screen_is_composited (screen))
-+ gtk_widget_set_colormap (tooltip->window, rgba);
++ on_screen_changed (tooltip->window, NULL, tooltip);
+
gtk_window_set_type_hint (GTK_WINDOW (tooltip->window),
GDK_WINDOW_TYPE_HINT_TOOLTIP);
@@ -62,7 +77,7 @@ diff -up gtk+-2.18.3/gtk/gtktooltip.c.fr
gtk_widget_set_app_paintable (tooltip->window, TRUE);
gtk_window_set_resizable (GTK_WINDOW (tooltip->window), FALSE);
gtk_widget_set_name (tooltip->window, "gtk-tooltip");
-@@ -145,7 +174,7 @@ gtk_tooltip_init (GtkTooltip *tooltip)
+@@ -145,7 +189,7 @@ gtk_tooltip_init (GtkTooltip *tooltip)
gtk_widget_show (tooltip->alignment);
g_signal_connect_swapped (tooltip->window, "style-set",
@@ -71,19 +86,21 @@ diff -up gtk+-2.18.3/gtk/gtktooltip.c.fr
g_signal_connect_swapped (tooltip->window, "expose-event",
G_CALLBACK (gtk_tooltip_paint_window), tooltip);
-@@ -162,6 +191,11 @@ gtk_tooltip_init (GtkTooltip *tooltip)
+@@ -162,6 +206,13 @@ gtk_tooltip_init (GtkTooltip *tooltip)
gtk_box_pack_start (GTK_BOX (tooltip->box), tooltip->label,
FALSE, FALSE, 0);
+ g_signal_connect (tooltip->window, "composited-changed",
+ G_CALLBACK (on_composited_changed), tooltip);
++ g_signal_connect (tooltip->window, "screen-changed",
++ G_CALLBACK (on_screen_changed), tooltip);
+ g_signal_connect (tooltip->window, "realize",
+ G_CALLBACK (on_realized), tooltip);
+
tooltip->custom_widget = NULL;
}
-@@ -318,9 +352,9 @@ gtk_tooltip_set_icon_from_stock (GtkTool
+@@ -318,9 +369,9 @@ gtk_tooltip_set_icon_from_stock (GtkTool
* Since: 2.14
*/
void
@@ -96,7 +113,7 @@ diff -up gtk+-2.18.3/gtk/gtktooltip.c.fr
{
g_return_if_fail (GTK_IS_TOOLTIP (tooltip));
-@@ -471,27 +505,229 @@ static void
+@@ -471,27 +522,217 @@ static void
gtk_tooltip_window_style_set (GtkTooltip *tooltip)
{
gtk_alignment_set_padding (GTK_ALIGNMENT (tooltip->alignment),
@@ -245,18 +262,6 @@ diff -up gtk+-2.18.3/gtk/gtktooltip.c.fr
+ GDK_WINDOW_TYPE_HINT_DND);
+ }
+#endif
-+#if 0
-+ if (tooltip->window->window)
-+ {
-+ rect.x = 0;
-+ rect.y = 0;
-+ rect.width = width;
-+ rect.height = height;
-+ region = gdk_region_rectangle (&rect);
-+ gdk_window_shape_combine_region (tooltip->window->window, region, 0, 0);
-+ gdk_region_destroy (region);
-+ }
-+#endif
+ return;
+ }
+
@@ -340,7 +345,7 @@ diff -up gtk+-2.18.3/gtk/gtktooltip.c.fr
return FALSE;
}
-@@ -631,7 +867,7 @@ find_widget_under_pointer (GdkWindow *wi
+@@ -631,7 +872,7 @@ find_widget_under_pointer (GdkWindow *wi
#ifdef DEBUG_TOOLTIP
g_print ("event window %p (belonging to %p (%s)) (%d, %d)\n",
@@ -351,7 +356,7 @@ diff -up gtk+-2.18.3/gtk/gtktooltip.c.fr
diff -up gtk+-2.18.3/gtk/gtkwidget.c.fresh-tooltips gtk+-2.18.3/gtk/gtkwidget.c
--- gtk+-2.18.3/gtk/gtkwidget.c.fresh-tooltips 2009-10-09 01:00:44.000000000 -0400
-+++ gtk+-2.18.3/gtk/gtkwidget.c 2009-10-28 17:17:02.854003713 -0400
++++ gtk+-2.18.3/gtk/gtkwidget.c 2009-10-31 14:27:50.333957199 -0400
@@ -2386,6 +2386,14 @@ gtk_widget_class_init (GtkWidgetClass *k
P_("The length of vertical scroll arrows"),
1, G_MAXINT, 16,
Index: gtk2.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gtk2/F-12/gtk2.spec,v
retrieving revision 1.428
retrieving revision 1.429
diff -u -p -r1.428 -r1.429
--- gtk2.spec 28 Oct 2009 21:32:22 -0000 1.428
+++ gtk2.spec 31 Oct 2009 19:06:13 -0000 1.429
@@ -17,7 +17,7 @@
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
Name: gtk2
Version: %{base_version}
-Release: 15%{?dist}
+Release: 16%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
Source: http://download.gnome.org/sources/gtk+/2.18/gtk+-%{version}.tar.bz2
@@ -403,6 +403,9 @@ fi
%changelog
+* Sat Oct 31 2009 Matthias Clasen <mclasen at redhta.com> - 2.18.3-16
+- Handle screen changes for tooltips (#531568)
+
* Wed Oct 28 2009 Matthias Clasen <mclasen at redhta.com> - 2.18.3-15
- Work around a bug in the X automatic compositor (#531443)
More information about the fedora-extras-commits
mailing list