This commit is contained in:
Matthias Clasen 2009-03-02 21:46:22 +00:00
parent a4d6d6091c
commit 9769f997f3
6 changed files with 7 additions and 230 deletions

View File

@ -1 +1 @@
gtk+-2.15.4.tar.bz2
gtk+-2.15.5.tar.bz2

View File

@ -1,48 +0,0 @@
diff -up gtk+-2.15.4/gdk/x11/gdkscreen-x11.c.disconnected gtk+-2.15.4/gdk/x11/gdkscreen-x11.c
--- gtk+-2.15.4/gdk/x11/gdkscreen-x11.c.disconnected 2009-02-18 18:38:27.756124432 -0500
+++ gtk+-2.15.4/gdk/x11/gdkscreen-x11.c 2009-02-18 18:38:51.904412525 -0500
@@ -695,6 +695,9 @@ init_randr13 (GdkScreen *screen)
/* Non RandR1.2 X driver have output name "default" */
randr12_compat |= !g_strcmp0(output->name, "default");
+ if (output->connection == RR_Disconnected)
+ continue;
+
if (output->crtc)
{
GdkX11Monitor monitor;
@@ -705,11 +708,11 @@ init_randr13 (GdkScreen *screen)
monitor.geometry.width = crtc->width;
monitor.geometry.height = crtc->height;
- /* FIXME: fill this out properly - need EDID parser */
monitor.output = resources->outputs[i];
- monitor.width_mm = -1;
- monitor.height_mm = -1;
- monitor.output_name = NULL;
+ monitor.width_mm = output->mm_width;
+ monitor.height_mm = output->mm_height;
+ monitor.output_name = g_strdup (output->name);
+ /* FIXME: need EDID parser */
monitor.manufacturer = NULL;
g_array_append_val (monitors, monitor);
@@ -995,7 +998,8 @@ _gdk_x11_screen_size_changed (GdkScreen
return;
_gdk_x11_screen_process_monitors_change (screen);
- g_signal_emit_by_name (screen, "size_changed");
+
+ g_signal_emit_by_name (screen, "size-changed");
}
void
@@ -1003,7 +1007,7 @@ _gdk_x11_screen_process_monitors_change
{
init_multihead (screen);
- g_signal_emit_by_name (screen, "monitors_changed");
+ g_signal_emit_by_name (screen, "monitors-changed");
}
void

View File

@ -11,13 +11,13 @@
%define libpng_version 2:1.2.2-16
%define xrandr_version 1.2.99.4-2
%define base_version 2.15.4
%define base_version 2.15.5
%define bin_version 2.10.0
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
Name: gtk2
Version: %{base_version}
Release: 7%{?dist}
Release: 1%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
Source: http://download.gnome.org/sources/gtk+/2.15/gtk+-%{version}.tar.bz2
@ -31,9 +31,6 @@ Patch0: gtk+-2.13.5-lib64.patch
Patch2: workaround.patch
# http://bugzilla.redhat.com/show_bug.cgi?id=478400
Patch3: default_printer.patch
# from upstream
Patch4: disconnected-monitors.patch
Patch5: monitor-sizes.patch
BuildRequires: atk-devel >= %{atk_version}
BuildRequires: pango-devel >= %{pango_version}
@ -138,8 +135,6 @@ This package contains developer documentation for the GTK+ widget toolkit.
%patch0 -p1 -b .lib64
%patch2 -p1 -b .workaround
%patch3 -p0 -b .default-printer
%patch4 -p1 -b .disconnected-monitors
%patch5 -p1 -b .monitor-sizes
%build
@ -340,6 +335,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Mon Mar 2 2009 Matthias Clasen <mclasen@redhat.com> - 2.15.5-1
- Update to 2.15.5
* Thu Feb 26 2009 - Bastien Nocera <bnocera@redhat.com> - 2.15.4-7
- Require a newer libXrandr to build and run

View File

@ -1,49 +0,0 @@
diff -up gtk+-2.15.4/gdk/x11/gdkscreen-x11.c.monitor-sizes gtk+-2.15.4/gdk/x11/gdkscreen-x11.c
--- gtk+-2.15.4/gdk/x11/gdkscreen-x11.c.monitor-sizes 2009-02-23 17:46:34.738078794 -0500
+++ gtk+-2.15.4/gdk/x11/gdkscreen-x11.c 2009-02-23 17:47:01.228887089 -0500
@@ -663,6 +663,31 @@ init_fake_xinerama (GdkScreen *screen)
return FALSE;
}
+static int
+monitor_compare_function (GdkX11Monitor *monitor1,
+ GdkX11Monitor *monitor2)
+{
+ /* Sort the leftmost/topmost monitors first.
+ * For "cloned" monitors, sort the bigger ones first
+ * (giving preference to taller monitors over wider
+ * monitors)
+ */
+
+ if (monitor1->geometry.x != monitor2->geometry.x)
+ return monitor1->geometry.x - monitor2->geometry.x;
+
+ if (monitor1->geometry.y != monitor2->geometry.y)
+ return monitor1->geometry.y - monitor2->geometry.y;
+
+ if (monitor1->geometry.height != monitor2->geometry.height)
+ return - (monitor1->geometry.height - monitor2->geometry.height);
+
+ if (monitor1->geometry.width != monitor2->geometry.width)
+ return - (monitor1->geometry.width - monitor2->geometry.width);
+
+ return 0;
+}
+
static gboolean
init_randr13 (GdkScreen *screen)
{
@@ -732,10 +757,12 @@ init_randr13 (GdkScreen *screen)
return FALSE;
}
+ g_array_sort (monitors,
+ (GCompareFunc) monitor_compare_function);
screen_x11->n_monitors = monitors->len;
screen_x11->monitors = (GdkX11Monitor *)g_array_free (monitors, FALSE);
- return TRUE;
+ return screen_x11->n_monitors > 0;
#endif
return FALSE;

View File

@ -1,124 +0,0 @@
diff -up gtk+-2.15.3/gtk/gtkaction.c.polkit gtk+-2.15.3/gtk/gtkaction.c
--- gtk+-2.15.3/gtk/gtkaction.c.polkit 2009-02-06 22:24:40.000000000 -0500
+++ gtk+-2.15.3/gtk/gtkaction.c 2009-02-06 22:25:35.000000000 -0500
@@ -1509,8 +1509,6 @@ gtk_action_set_icon_name (GtkAction *a
g_return_if_fail (GTK_IS_ACTION (action));
- g_return_if_fail (GTK_IS_ACTION (action));
-
tmp = action->private_data->icon_name;
action->private_data->icon_name = g_strdup (icon_name);
g_free (tmp);
@@ -1604,6 +1602,8 @@ gtk_action_block_activate_from (GtkActio
g_signal_handlers_block_by_func (proxy, G_CALLBACK (gtk_action_activate),
action);
+
+ gtk_action_block_activate (action);
}
/**
@@ -1630,6 +1630,8 @@ gtk_action_unblock_activate_from (GtkAct
g_signal_handlers_unblock_by_func (proxy, G_CALLBACK (gtk_action_activate),
action);
+
+ gtk_action_unblock_activate (action);
}
static void
diff -up gtk+-2.15.3/gtk/gtkcheckmenuitem.c.polkit gtk+-2.15.3/gtk/gtkcheckmenuitem.c
--- gtk+-2.15.3/gtk/gtkcheckmenuitem.c.polkit 2009-02-06 22:24:48.000000000 -0500
+++ gtk+-2.15.3/gtk/gtkcheckmenuitem.c 2009-02-06 22:25:41.000000000 -0500
@@ -188,7 +188,7 @@ gtk_check_menu_item_activatable_reset (G
parent_activatable_iface->reset (activatable, action);
- if (!action)
+ if (!GTK_IS_TOGGLE_ACTION (action))
return;
gtk_action_block_activate (action);
diff -up gtk+-2.15.3/gtk/gtkimagemenuitem.c.polkit gtk+-2.15.3/gtk/gtkimagemenuitem.c
--- gtk+-2.15.3/gtk/gtkimagemenuitem.c.polkit 2009-02-06 22:24:55.000000000 -0500
+++ gtk+-2.15.3/gtk/gtkimagemenuitem.c 2009-02-06 22:25:47.000000000 -0500
@@ -601,7 +601,7 @@ activatable_update_icon_name (GtkImageMe
image = gtk_image_menu_item_get_image (image_menu_item);
- if (GTK_IS_IMAGE (image) && icon_name &&
+ if (GTK_IS_IMAGE (image) &&
(gtk_image_get_storage_type (GTK_IMAGE (image)) == GTK_IMAGE_EMPTY ||
gtk_image_get_storage_type (GTK_IMAGE (image)) == GTK_IMAGE_ICON_NAME))
{
diff -up gtk+-2.15.3/gtk/gtktogglebutton.c.polkit gtk+-2.15.3/gtk/gtktogglebutton.c
--- gtk+-2.15.3/gtk/gtktogglebutton.c.polkit 2009-02-06 22:25:06.000000000 -0500
+++ gtk+-2.15.3/gtk/gtktogglebutton.c 2009-02-06 22:25:53.000000000 -0500
@@ -188,7 +188,7 @@ gtk_toggle_button_activatable_reset (Gtk
parent_activatable_iface->reset (activatable, action);
- if (!action)
+ if (!GTK_IS_TOGGLE_ACTION (action))
return;
button = GTK_TOGGLE_BUTTON (activatable);
diff -up gtk+-2.15.3/gtk/gtktoggletoolbutton.c.polkit gtk+-2.15.3/gtk/gtktoggletoolbutton.c
--- gtk+-2.15.3/gtk/gtktoggletoolbutton.c.polkit 2009-02-06 22:25:16.000000000 -0500
+++ gtk+-2.15.3/gtk/gtktoggletoolbutton.c 2009-02-06 22:25:59.000000000 -0500
@@ -346,7 +346,7 @@ gtk_toggle_tool_button_activatable_reset
parent_activatable_iface->reset (activatable, action);
- if (!action)
+ if (!GTK_IS_TOGGLE_ACTION (action))
return;
button = GTK_TOGGLE_TOOL_BUTTON (activatable);
diff -up gtk+-2.15.3/gtk/gtktoolbutton.c.polkit gtk+-2.15.3/gtk/gtktoolbutton.c
--- gtk+-2.15.3/gtk/gtktoolbutton.c.polkit 2009-02-06 22:25:24.000000000 -0500
+++ gtk+-2.15.3/gtk/gtktoolbutton.c 2009-02-06 22:26:03.000000000 -0500
@@ -760,24 +760,9 @@ gtk_tool_button_activatable_update (GtkA
button = GTK_TOOL_BUTTON (activatable);
if (strcmp (property_name, "short-label") == 0)
- {
- if (!gtk_action_get_stock_id (action) &&
- !gtk_action_get_icon_name (action))
- {
- gtk_tool_button_set_use_underline (button, TRUE);
- gtk_tool_button_set_label (button, gtk_action_get_short_label (action));
- }
- }
+ gtk_tool_button_set_label (button, gtk_action_get_short_label (action));
else if (strcmp (property_name, "stock-id") == 0)
- {
- if (gtk_action_get_stock_id (action))
- {
- gtk_tool_button_set_label (button, NULL);
- gtk_tool_button_set_icon_name (button, NULL);
- }
- gtk_tool_button_set_icon_widget (button, NULL);
- gtk_tool_button_set_stock_id (button, gtk_action_get_stock_id (action));
- }
+ gtk_tool_button_set_stock_id (button, gtk_action_get_stock_id (action));
else if (strcmp (property_name, "gicon") == 0)
{
const gchar *stock_id = gtk_action_get_stock_id (action);
@@ -800,14 +785,7 @@ gtk_tool_button_activatable_update (GtkA
}
else if (strcmp (property_name, "icon-name") == 0)
- {
- if (gtk_action_get_icon_name (action))
- {
- gtk_tool_button_set_label (button, NULL);
- gtk_tool_button_set_stock_id (button, NULL);
- }
- gtk_tool_button_set_icon_name (button, gtk_action_get_icon_name (action));
- }
+ gtk_tool_button_set_icon_name (button, gtk_action_get_icon_name (action));
}
static void

View File

@ -1 +1 @@
663b63d82d88215c1cc0c53390bf9512 gtk+-2.15.4.tar.bz2
aa010d3fa57cba96f32db352eb35754f gtk+-2.15.5.tar.bz2