[gtk-osx] Update to gtk+-3.10.1
- From: John Ralls <jralls src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk-osx] Update to gtk+-3.10.1
- Date: Fri, 11 Oct 2013 23:31:18 +0000 (UTC)
commit 15761ef7ea91593cde754cefb7f7a5348bfa1487
Author: John Ralls <jralls ceridwen us>
Date: Fri Oct 11 11:22:02 2013 -0700
Update to gtk+-3.10.1
With some additional patches. Fixes some significant crashes,
particularly in drag and drop.
modulesets-stable/gtk-osx.modules | 7 +++-
...03-Fix-double-free-introduced-in-f86dc163.patch | 25 +++++++++++++++
.../0003-quartz-NULL-check-on-default-keymap.patch | 28 +++++++++++++++++
...and-dest-are-GdkWindows-in-_gdk_sythesize.patch | 32 ++++++++++++++++++++
4 files changed, 90 insertions(+), 2 deletions(-)
---
diff --git a/modulesets-stable/gtk-osx.modules b/modulesets-stable/gtk-osx.modules
index bcb47a9..a2e395e 100644
--- a/modulesets-stable/gtk-osx.modules
+++ b/modulesets-stable/gtk-osx.modules
@@ -173,9 +173,12 @@
<autotools id="gtk+-3.0" autogen-sh="autogen.sh"
autogenargs="--enable-quartz-backend --enable-quartz-relocation">
- <branch module="gtk+/3.10/gtk+-3.10.0.tar.xz" version="3.10.0"
- hash="sha256:6559feb360cd935d341cd7a0b69a72f8f4346ed6ee9b7c4040c02b73b75c53fe">
+ <branch module="gtk+/3.10/gtk+-3.10.1.tar.xz" version="3.10.1"
+ hash="sha256:c12e6897fb1ec8d8f1a6de6cd0ac1372fee6fd63ee3a5a63813dc5f3473e6ab8">
<patch
file="http://git.gnome.org/browse/gtk-osx/plain/patches/0001-Bug-708998-Avoid-infinite-loop.patch" strip="1"/>
+ <patch
file="http://git.gnome.org/browse/gtk-osx/plain/patches/0004-Ensure-src-and-dest-are-GdkWindows-in-_gdk_sythesize.patch"
strip="1"/>
+ <patch
file="http://git.gnome.org/browse/gtk-osx/plain/patches/0003-Fix-double-free-introduced-in-f86dc163.patch"
strip="1"/>
+ <patch
file="http://git.gnome.org/browse/gtk-osx/plain/patches/0003-quartz-NULL-check-on-default-keymap.patch"
strip="1"/>
</branch>
<dependencies>
<dep package="glib"/>
diff --git a/patches/0003-Fix-double-free-introduced-in-f86dc163.patch
b/patches/0003-Fix-double-free-introduced-in-f86dc163.patch
new file mode 100644
index 0000000..d6db4a3
--- /dev/null
+++ b/patches/0003-Fix-double-free-introduced-in-f86dc163.patch
@@ -0,0 +1,25 @@
+From 5c820fe22d7484f1f09ebe4c59491c1c5dde34d7 Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls ceridwen us>
+Date: Fri, 11 Oct 2013 10:40:26 -0700
+Subject: [PATCH 3/4] Fix double-free introduced in f86dc163
+
+---
+ gtk/gtkdnd-quartz.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c
+index 1ec5db5..11a4855 100644
+--- a/gtk/gtkdnd-quartz.c
++++ b/gtk/gtkdnd-quartz.c
+@@ -1263,7 +1263,7 @@ gtk_drag_begin_internal (GtkWidget *widget,
+ window = [(id<GdkNSView>)[nswindow contentView] gdkWindow];
+ g_return_val_if_fail (nsevent != NULL, NULL);
+
+- context = gdk_drag_begin (window, target_list->list);
++ context = gdk_drag_begin (window, g_list_copy (target_list->list));
+ g_return_val_if_fail (context != NULL, NULL);
+
+ info = gtk_drag_get_source_info (context, TRUE);
+--
+1.8.3.rc0
+
diff --git a/patches/0003-quartz-NULL-check-on-default-keymap.patch
b/patches/0003-quartz-NULL-check-on-default-keymap.patch
new file mode 100644
index 0000000..cff1aa9
--- /dev/null
+++ b/patches/0003-quartz-NULL-check-on-default-keymap.patch
@@ -0,0 +1,28 @@
+From 041605bc50c7f06cb4aab5c3fd7c1189854c810c Mon Sep 17 00:00:00 2001
+From: Philip Chimento <philip chimento gmail com>
+Date: Tue, 27 Aug 2013 23:46:22 -0700
+Subject: [PATCH 3/5] [quartz] NULL check on default keymap
+
+Ensure that Quartz's default keymap is not accessed before it is
+created.
+---
+ gdk/quartz/gdkkeys-quartz.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/gdk/quartz/gdkkeys-quartz.c b/gdk/quartz/gdkkeys-quartz.c
+index 8ecf79e..d2b5110 100644
+--- a/gdk/quartz/gdkkeys-quartz.c
++++ b/gdk/quartz/gdkkeys-quartz.c
+@@ -492,7 +492,8 @@ update_keymap (void)
+ p[0] = known_numeric_keys[i].keypad_keyval;
+ }
+
+- g_signal_emit_by_name (default_keymap, "keys-changed");
++ if (default_keymap != NULL)
++ g_signal_emit_by_name (default_keymap, "keys-changed");
+ }
+
+ static PangoDirection
+--
+1.7.12.4 (Apple Git-37)
+
diff --git a/patches/0004-Ensure-src-and-dest-are-GdkWindows-in-_gdk_sythesize.patch
b/patches/0004-Ensure-src-and-dest-are-GdkWindows-in-_gdk_sythesize.patch
new file mode 100644
index 0000000..d6b2444
--- /dev/null
+++ b/patches/0004-Ensure-src-and-dest-are-GdkWindows-in-_gdk_sythesize.patch
@@ -0,0 +1,32 @@
+From 3ca7cfe29b62883d7cfe736216deadfe35c9116c Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls ceridwen us>
+Date: Fri, 11 Oct 2013 10:40:50 -0700
+Subject: [PATCH 4/4] Ensure src and dest are GdkWindows in
+ _gdk_sythesize_crossing_events
+
+Discovered via a crash because b's (dest's) toplevel was NULL;
+ensuring that the dest is actually a GdkWindow or setting b to NULL
+prevents that path from being taken.
+---
+ gdk/gdkwindow.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
+index 7437552..ee10901 100644
+--- a/gdk/gdkwindow.c
++++ b/gdk/gdkwindow.c
+@@ -7570,8 +7570,9 @@ _gdk_synthesize_crossing_events (GdkDisplay *display,
+
+ /* TODO: Don't send events to toplevel, as we get those from the windowing system */
+
+- a = src;
+- b = dest;
++ a = (src && GDK_IS_WINDOW (src)) ? src : NULL;
++ b = (dest && GDK_IS_WINDOW (dest)) ? dest : NULL;
++
+ if (src == dest)
+ return; /* No crossings generated between src and dest */
+
+--
+1.8.3.rc0
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]