Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jul 2015 19:26:31 +0000 (UTC)
From:      Koop Mast <kwm@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r393092 - in head/x11-toolkits/gtk30: . files
Message-ID:  <201507281926.t6SJQVQR089551@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kwm
Date: Tue Jul 28 19:26:30 2015
New Revision: 393092
URL: https://svnweb.freebsd.org/changeset/ports/393092

Log:
  Update gtk30 to 3.14.15.
  
  * Explicitly disable wayland backend.
  * Remove obsolete packagekit configure argument
  * Add patch to fix shared clipboard between X screens. [1]
  
  Submitted by:	ashish@ [1]
  Tested by:	ashish@ [1]
  Obtained from:	gtk+ upstream [1]

Added:
  head/x11-toolkits/gtk30/files/patch-721398   (contents, props changed)
Modified:
  head/x11-toolkits/gtk30/Makefile
  head/x11-toolkits/gtk30/distinfo

Modified: head/x11-toolkits/gtk30/Makefile
==============================================================================
--- head/x11-toolkits/gtk30/Makefile	Tue Jul 28 18:49:02 2015	(r393091)
+++ head/x11-toolkits/gtk30/Makefile	Tue Jul 28 19:26:30 2015	(r393092)
@@ -1,10 +1,9 @@
 # Created by: Vanilla I. Shu <vanilla@MinJe.com.TW>
 # $FreeBSD$
-#   $MCom: ports/trunk/x11-toolkits/gtk30/Makefile 20051 2014-11-10 09:39:43Z gusi $
 # Please keep gtk30 and x11-themes/gnome-themes-standard minor version in sync
 
 PORTNAME=	gtk
-PORTVERSION=	3.14.12
+PORTVERSION=	3.14.15
 PORTREVISION?=	0
 CATEGORIES=	x11-toolkits
 MASTER_SITES=	GNOME/sources/gtk+/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}
@@ -37,14 +36,16 @@ USE_GNOME=	atk gdkpixbuf2 gtk-update-ico
 USES+=		gettext gmake libtool pathfix perl5 pkgconfig
 USE_XORG=	xext xrender x11 xinerama xi xrandr xcursor xfixes xdamage \
 		xcomposite
-CONFIGURE_ARGS=	--enable-gtk2-dependency --disable-packagekit \
+CONFIGURE_ARGS=	--enable-gtk2-dependency \
+		--disable-wayland-backend \
+		--enable-x11-backend \
 		--enable-introspection
 CPPFLAGS+=	-I${LOCALBASE}/include -fno-omit-frame-pointer
 LIBS+=		-L${LOCALBASE}/lib
 INSTALLS_ICONS=	yes
 INSTALL_TARGET=	install-strip
 
-LIBVERSION=	0.1400.12
+LIBVERSION=	0.1400.15
 PLIST_SUB+=	LIBVERSION=${LIBVERSION}
 
 GLIB_SCHEMAS=	org.gtk.Demo.gschema.xml \

Modified: head/x11-toolkits/gtk30/distinfo
==============================================================================
--- head/x11-toolkits/gtk30/distinfo	Tue Jul 28 18:49:02 2015	(r393091)
+++ head/x11-toolkits/gtk30/distinfo	Tue Jul 28 19:26:30 2015	(r393092)
@@ -1,2 +1,2 @@
-SHA256 (gnome3/gtk+-3.14.12.tar.xz) = 3aaf1f04b6393695a726b4bbe09ed9c9ddb0f779edc8238f803d5a4f10a2f549
-SIZE (gnome3/gtk+-3.14.12.tar.xz) = 15784084
+SHA256 (gnome3/gtk+-3.14.15.tar.xz) = 3ac87659112ced9e5ee5bd55d055faa881aafd040f26ca40b0d8ba0fa6509c83
+SIZE (gnome3/gtk+-3.14.15.tar.xz) = 15896532

Added: head/x11-toolkits/gtk30/files/patch-721398
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-toolkits/gtk30/files/patch-721398	Tue Jul 28 19:26:30 2015	(r393092)
@@ -0,0 +1,81 @@
+From 55edc81c10742bf3e410168f6dc317f8aca05938 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Mon, 27 Jul 2015 23:18:27 -0400
+Subject: x11: Make selection handling work across screens
+
+When dealing with selection events, we might see windows from
+other screens in the requestor field. The current x11 backend
+code fails to wrap these in a foreign GdkWindow, since we
+don't have the corresponding GdkScreen anymore. Work around
+this by creating such 'foreign screens' on demand. We still
+maintain the 1:1 relation between the display and the screen
+returned by gdk_display_get_default_screen().
+
+https://bugzilla.gnome.org/show_bug.cgi?id=721398
+
+diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
+index f2824b6..9bb27ee 100644
+--- gdk/x11/gdkdisplay-x11.c
++++ gdk/x11/gdkdisplay-x11.c
+@@ -1959,6 +1959,7 @@ gdk_x11_display_finalize (GObject *object)
+ 
+   /* Free all GdkScreens */
+   g_object_unref (display_x11->screen);
++  g_list_free_full (display_x11->screens, g_object_unref);
+ 
+   g_free (display_x11->startup_notification_id);
+ 
+@@ -2035,12 +2036,36 @@ GdkScreen *
+ _gdk_x11_display_screen_for_xrootwin (GdkDisplay *display,
+ 				      Window      xrootwin)
+ {
+-  GdkScreen *screen = gdk_display_get_default_screen (display);
++  GdkScreen *screen;
++  XWindowAttributes attrs;
++  gboolean result;
++  GdkX11Display *display_x11;
++  GList *l;
++
++  screen = gdk_display_get_default_screen (display);
+ 
+   if (GDK_SCREEN_XROOTWIN (screen) == xrootwin)
+     return screen;
+ 
+-  return NULL;
++  display_x11 = GDK_X11_DISPLAY (display);
++
++  for (l = display_x11->screens; l; l = l->next)
++    {
++      screen = l->data;
++      if (GDK_SCREEN_XROOTWIN (screen) == xrootwin)
++        return screen;
++    }
++
++  gdk_x11_display_error_trap_push (display);
++  result = XGetWindowAttributes (display_x11->xdisplay, xrootwin, &attrs);
++  if (gdk_x11_display_error_trap_pop (display) || !result)
++    return NULL;
++
++  screen = _gdk_x11_screen_new (display, XScreenNumberOfScreen (attrs.screen));
++
++  display_x11->screens = g_list_prepend (display_x11->screens, screen);
++
++  return screen;
+ }
+ 
+ /**
+diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h
+index aadf255..9b78f61 100644
+--- gdk/x11/gdkdisplay-x11.h
++++ gdk/x11/gdkdisplay-x11.h
+@@ -39,6 +39,7 @@ struct _GdkX11Display
+   GdkDisplay parent_instance;
+   Display *xdisplay;
+   GdkScreen *screen;
++  GList *screens;
+ 
+   GSource *event_source;
+ 
+-- 
+cgit v0.10.2
+



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201507281926.t6SJQVQR089551>