[89378] trunk/dports/gnome/gtk2
dports at macports.org
dports at macports.org
Fri Jan 27 00:19:44 PST 2012
Revision: 89378
http://trac.macports.org/changeset/89378
Author: dports at macports.org
Date: 2012-01-27 00:19:42 -0800 (Fri, 27 Jan 2012)
Log Message:
-----------
gtk2: update to v2.24.9; remove patches incorporated upstream
Modified Paths:
--------------
trunk/dports/gnome/gtk2/Portfile
Removed Paths:
-------------
trunk/dports/gnome/gtk2/files/658722.diff
trunk/dports/gnome/gtk2/files/664238.diff
Modified: trunk/dports/gnome/gtk2/Portfile
===================================================================
--- trunk/dports/gnome/gtk2/Portfile 2012-01-27 07:52:32 UTC (rev 89377)
+++ trunk/dports/gnome/gtk2/Portfile 2012-01-27 08:19:42 UTC (rev 89378)
@@ -6,8 +6,7 @@
PortGroup xcodeversion 1.0
name gtk2
-version 2.24.8
-revision 2
+version 2.24.9
set branch [join [lrange [split ${version} .] 0 1] .]
categories gnome x11
license LGPL-2+
@@ -23,7 +22,7 @@
homepage http://www.gtk.org/
distname gtk+-${version}
-use_bzip2 yes
+use_xz yes
master_sites gnome:sources/gtk+/${branch}/ \
ftp://ftp.gtk.org/pub/gtk/${branch}/ \
@@ -31,13 +30,11 @@
minimum_xcodeversions {9 3.1}
-checksums rmd160 efd9e1a8e5050e9763a8f81d0625a9e0f002cfe9 \
- sha256 ac2325a65312922a6722a7c02a389f3f4072d79e13131485cc7b7226e2537043
+checksums rmd160 4e51be9955a9f3d359fcaca9cc30c12477789d28 \
+ sha256 84204bf24cac739fd979943127e7b29cb46b1017684aa24dce630faa01bcb61d
patchfiles patch-gtk-builder-convert.diff patch-aliases.diff \
- patch-tests_Makefile.in.diff \
- 658722.diff \
- 664238.diff
+ patch-tests_Makefile.in.diff
depends_build port:pkgconfig \
port:perl5
Deleted: trunk/dports/gnome/gtk2/files/658722.diff
===================================================================
--- trunk/dports/gnome/gtk2/files/658722.diff 2012-01-27 07:52:32 UTC (rev 89377)
+++ trunk/dports/gnome/gtk2/files/658722.diff 2012-01-27 08:19:42 UTC (rev 89378)
@@ -1,270 +0,0 @@
-From dcd9ab00c64a1df63fd5fa58c2ca25efd9b3e09e Mon Sep 17 00:00:00 2001
-From: John Ralls <jralls at ceridwen.us>
-Date: Sat, 24 Sep 2011 18:14:09 -0700
-Subject: [PATCH 06/15] Bug 658722 - Drag and Drop sometimes stops working
-
-First, rather than assuming that there's already an event queued up if
-_gdk_quartz_drag_source_context isn't NULL, assume that it just didn't get
-cleaned up the last time it ran and abort it.
-
-This naturally requires implementing gdk_quartz_drag_abort(), so remove the
-code from [GdkQuartzNSWindow draggedImage:endedAt:operation:] and move it to
-gdkdnd_quartz.c as static void gdk_quartz_drag_end(). Implement both
-gdk_quartz_drag_drop() and gdk_quartz_drag_abort() by calling
-gdk_quartz_drag_end().
-
-Next, try to get rid of the memory cycle between gtk_drag_source_info.context
-and _gdk_quartz_drag_source_context (which carries the GtkQuartzDragSourceInfo
-struct as qdata). Replace gtk_drag_source_clear_info() by using a
-g_object_set_qdata_full() for context in gtk_drag_get_source_context, calling
-gtk_drag_source_info_destroy() as the destructor. This eliminates the need to
-queue a cleanup idle event. I use g_object_run_dispose() on
-_gtk_quartz_drag_source_context to force the deletion of the info stored as
-qdata, which in turn unrefs the info->context pointer. Ordinarily this gets
-fired off from draggedImage:endedAt:operation:, meaning that the special
-dragging CFRunLoop is complete and NSEvents are again flowing, so queuing a
-cleanup event isn't necessary. The advantage is that it can also be run from
-gdk_drag_abort, so if Gdk thinks there's a drag but CF doesn't all of the
-memory still gets cleaned up.
----
- gdk/quartz/GdkQuartzWindow.c | 16 +-------
- gdk/quartz/gdkdnd-quartz.c | 35 +++++++++++++--
- gtk/gtkdnd-quartz.c | 96 ++++++++++++++++-------------------------
- 3 files changed, 69 insertions(+), 78 deletions(-)
-
---- gdk/quartz/GdkQuartzWindow.c.orig
-+++ gdk/quartz/GdkQuartzWindow.c
-@@ -560,21 +560,7 @@ update_context_from_dragging_info (id <NSDraggingInfo> sender)
-
- - (void)draggedImage:(NSImage *)anImage endedAt:(NSPoint)aPoint operation:(NSDragOperation)operation
- {
-- GdkEvent event;
--
-- g_assert (_gdk_quartz_drag_source_context != NULL);
--
-- event.dnd.type = GDK_DROP_FINISHED;
-- event.dnd.window = g_object_ref ([[self contentView] gdkWindow]);
-- event.dnd.send_event = FALSE;
-- event.dnd.context = _gdk_quartz_drag_source_context;
--
-- (*_gdk_event_func) (&event, _gdk_event_data);
--
-- g_object_unref (event.dnd.window);
--
-- g_object_unref (_gdk_quartz_drag_source_context);
-- _gdk_quartz_drag_source_context = NULL;
-+ gdk_drag_drop (_gdk_quartz_drag_source_context, (guint32)g_get_real_time());
- }
-
- @end
---- gdk/quartz/gdkdnd-quartz.c.orig
-+++ gdk/quartz/gdkdnd-quartz.c
-@@ -111,11 +111,20 @@ GdkDragContext *
- gdk_drag_begin (GdkWindow *window,
- GList *targets)
- {
-- g_assert (_gdk_quartz_drag_source_context == NULL);
-+ if (_gdk_quartz_drag_source_context != NULL)
-+ {
-+ /* Something is amiss with the existing drag, so log a message
-+ and abort it */
-+ g_warning ("Drag begun with existing context; aborting the preexisting drag");
-+ gdk_drag_abort (_gdk_quartz_drag_source_context,
-+ (guint32)g_get_real_time ());
-+ }
-+
-
- /* Create fake context */
- _gdk_quartz_drag_source_context = gdk_drag_context_new ();
- _gdk_quartz_drag_source_context->is_source = TRUE;
-+ _gdk_quartz_drag_source_context->source_window = window;
-
- return _gdk_quartz_drag_source_context;
- }
-@@ -155,20 +164,36 @@ gdk_drag_find_window_for_screen (GdkDragContext *context,
- /* FIXME: Implement */
- }
-
-+static void
-+gdk_quartz_drag_end (GdkDragContext *context)
-+{
-+ GdkEvent event;
-+
-+ g_assert (context != NULL);
-+ event.dnd.type = GDK_DROP_FINISHED;
-+ event.dnd.window = g_object_ref (context->source_window);
-+ event.dnd.send_event = FALSE;
-+ event.dnd.context = context;
-+
-+ (*_gdk_event_func) (&event, _gdk_event_data);
-+
-+ g_object_run_dispose (_gdk_quartz_drag_source_context);
-+ _gdk_quartz_drag_source_context = NULL;
-+}
-+
- void
- gdk_drag_drop (GdkDragContext *context,
- guint32 time)
- {
-- /* FIXME: Implement */
-+ gdk_quartz_drag_end (context);
- }
-
- void
- gdk_drag_abort (GdkDragContext *context,
- guint32 time)
- {
-- g_return_if_fail (context != NULL);
--
-- /* FIXME: Implement */
-+ g_warning ("Gdk-quartz-drag-drop, aborting\n");
-+ gdk_quartz_drag_end (context);
- }
-
- void
-diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c
-index 5688568..be92a22 100644
---- gtk/gtkdnd-quartz.c.orig
-+++ gtk/gtkdnd-quartz.c
-@@ -269,6 +269,39 @@ gtk_drag_dest_info_destroy (gpointer data)
- g_free (info);
- }
-
-+static void
-+gtk_drag_source_info_destroy (GtkDragSourceInfo *info)
-+{
-+ NSPasteboard *pasteboard;
-+ NSAutoreleasePool *pool;
-+
-+ if (info->icon_pixbuf)
-+ g_object_unref (info->icon_pixbuf);
-+
-+ g_signal_emit_by_name (info->widget, "drag-end",
-+ info->context);
-+
-+ if (info->source_widget)
-+ g_object_unref (info->source_widget);
-+
-+ if (info->widget)
-+ g_object_unref (info->widget);
-+
-+ gtk_target_list_unref (info->target_list);
-+
-+ pool = [[NSAutoreleasePool alloc] init];
-+
-+ /* Empty the pasteboard, so that it will not accidentally access
-+ * info->context after it has been destroyed.
-+ */
-+ pasteboard = [NSPasteboard pasteboardWithName: NSDragPboard];
-+ [pasteboard declareTypes: nil owner: nil];
-+
-+ [pool release];
-+
-+ g_free (info);
-+}
-+
- static GtkDragDestInfo *
- gtk_drag_get_dest_info (GdkDragContext *context,
- gboolean create)
-@@ -308,18 +341,14 @@ gtk_drag_get_source_info (GdkDragContext *context,
- {
- info = g_new0 (GtkDragSourceInfo, 1);
- info->context = context;
-- g_object_set_qdata (G_OBJECT (context), dest_info_quark, info);
-+ g_object_ref (info->context);
-+ g_object_set_qdata_full (G_OBJECT (context), dest_info_quark,
-+ info, gtk_drag_source_info_destroy);
- }
-
- return info;
- }
-
--static void
--gtk_drag_clear_source_info (GdkDragContext *context)
--{
-- g_object_set_qdata (G_OBJECT (context), dest_info_quark, NULL);
--}
--
- GtkWidget *
- gtk_drag_get_source_widget (GdkDragContext *context)
- {
-@@ -1089,7 +1118,8 @@ gtk_drag_begin_idle (gpointer arg)
- [owner release];
- [types release];
-
-- if ((nswindow = get_toplevel_nswindow (info->source_widget)) == NULL)
-+ if (info->source_widget == NULL
-+ || (nswindow = get_toplevel_nswindow (info->source_widget)) == NULL)
- return FALSE;
-
- /* Ref the context. It's unreffed when the drag has been aborted */
-@@ -1108,7 +1138,6 @@ gtk_drag_begin_idle (gpointer arg)
- source:nswindow
- slideBack:YES];
-
-- [info->nsevent release];
- [drag_image release];
-
- [pool release];
-@@ -1833,61 +1862,12 @@ gtk_drag_set_default_icon (GdkColormap *colormap,
- }
-
- static void
--gtk_drag_source_info_destroy (GtkDragSourceInfo *info)
--{
-- NSPasteboard *pasteboard;
-- NSAutoreleasePool *pool;
--
-- if (info->icon_pixbuf)
-- g_object_unref (info->icon_pixbuf);
--
-- g_signal_emit_by_name (info->widget, "drag-end",
-- info->context);
--
-- if (info->source_widget)
-- g_object_unref (info->source_widget);
--
-- if (info->widget)
-- g_object_unref (info->widget);
--
-- gtk_target_list_unref (info->target_list);
--
-- pool = [[NSAutoreleasePool alloc] init];
--
-- /* Empty the pasteboard, so that it will not accidentally access
-- * info->context after it has been destroyed.
-- */
-- pasteboard = [NSPasteboard pasteboardWithName: NSDragPboard];
-- [pasteboard declareTypes: nil owner: nil];
--
-- [pool release];
--
-- gtk_drag_clear_source_info (info->context);
-- g_object_unref (info->context);
--
-- g_free (info);
-- info = NULL;
--}
--
--static gboolean
--drag_drop_finished_idle_cb (gpointer data)
--{
-- gtk_drag_source_info_destroy (data);
-- return FALSE;
--}
--
--static void
- gtk_drag_drop_finished (GtkDragSourceInfo *info)
- {
- if (info->success && info->delete)
- g_signal_emit_by_name (info->source_widget, "drag-data-delete",
- info->context);
-
-- /* Workaround for the fact that the NS API blocks until the drag is
-- * over. This way the context is still valid when returning from
-- * drag_begin, even if it will still be quite useless. See bug #501588.
-- */
-- g_idle_add (drag_drop_finished_idle_cb, info);
- }
-
- /*************************************************************
Deleted: trunk/dports/gnome/gtk2/files/664238.diff
===================================================================
--- trunk/dports/gnome/gtk2/files/664238.diff 2012-01-27 07:52:32 UTC (rev 89377)
+++ trunk/dports/gnome/gtk2/files/664238.diff 2012-01-27 08:19:42 UTC (rev 89378)
@@ -1,24 +0,0 @@
-From ede7c10f00ca07bfcf129bb91af533a046c76e0f Mon Sep 17 00:00:00 2001
-From: John Ralls <jralls at ceridwen.us>
-Date: Sat, 19 Nov 2011 11:33:28 -0800
-Subject: [PATCH] [Bug 664238] GTK apps crash when dragging something
-
-Corrects a bad condition in a test in fadc82ad.
----
- gtk/gtkquartz.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
---- gtk/gtkquartz.c.orig
-+++ gtk/gtkquartz.c
-@@ -39,7 +39,7 @@ _gtk_quartz_create_image_from_pixbuf (GdkPixbuf *pixbuf)
-
- pixbuf_width = gdk_pixbuf_get_width (pixbuf);
- pixbuf_height = gdk_pixbuf_get_height (pixbuf);
-- g_return_val_if_fail (pixbuf_width == 0 && pixbuf_height == 0, NULL);
-+ g_return_val_if_fail (pixbuf_width != 0 && pixbuf_height != 0, NULL);
- rowstride = gdk_pixbuf_get_rowstride (pixbuf);
- has_alpha = gdk_pixbuf_get_has_alpha (pixbuf);
-
---
-1.7.6.3.dirty
-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120127/03666b2f/attachment-0001.html>
More information about the macports-changes
mailing list