automatic version update by autodist [release 4.14.0-1mamba;Thu Mar 14 2024]

This commit is contained in:
Automatic Build System 2024-03-14 18:13:09 +01:00
parent 3089984a50
commit e3d4da5d22
6 changed files with 13 additions and 506 deletions

View File

@ -1,327 +0,0 @@
diff -up gtk+-2.91.3/gtk/gtktooltip.c.fresh-tooltips gtk+-2.91.3/gtk/gtktooltip.c
--- gtk+-2.91.3/gtk/gtktooltip.c.fresh-tooltips 2010-10-31 14:28:19.000000000 -0400
+++ gtk+-2.91.3/gtk/gtktooltip.c 2010-11-01 14:12:41.027410023 -0400
@@ -35,6 +35,9 @@
#include "gtkalignment.h"
#include "gtksizerequest.h"
+#ifdef GDK_WINDOWING_X11
+#include "gdk/x11/gdkx.h"
+#endif
/**
* SECTION:gtktooltip
@@ -165,6 +168,7 @@ static void gtk_tooltip_display_cl
GtkTooltip *tooltip);
static void gtk_tooltip_set_last_window (GtkTooltip *tooltip,
GdkWindow *window);
+static void update_shape (GtkTooltip *tooltip);
G_DEFINE_TYPE (GtkTooltip, gtk_tooltip, G_TYPE_OBJECT);
@@ -180,6 +184,40 @@ gtk_tooltip_class_init (GtkTooltipClass
}
static void
+on_composited_changed (GtkWidget *window,
+ GtkTooltip *tooltip)
+{
+ update_shape (tooltip);
+}
+
+static void
+on_screen_changed (GtkWidget *window,
+ GdkScreen *previous,
+ GtkTooltip *tooltip)
+{
+ GdkScreen *screen;
+ GdkVisual *visual;
+
+ screen = gtk_widget_get_screen (window);
+
+
+ visual = NULL;
+ if (gdk_screen_is_composited (screen))
+ visual = gdk_screen_get_rgba_visual (screen);
+ if (visual == NULL)
+ visual = gdk_screen_get_system_visual (screen);
+
+ gtk_widget_set_visual (window, visual);
+}
+
+static void
+on_realized (GtkWidget *window,
+ GtkTooltip *tooltip)
+{
+ update_shape (tooltip);
+}
+
+static void
gtk_tooltip_init (GtkTooltip *tooltip)
{
GtkStyle *style;
@@ -199,8 +237,12 @@ gtk_tooltip_init (GtkTooltip *tooltip)
tooltip->last_window = NULL;
tooltip->window = g_object_ref (gtk_window_new (GTK_WINDOW_POPUP));
+
+ on_screen_changed (tooltip->window, NULL, tooltip);
+
gtk_window_set_type_hint (GTK_WINDOW (tooltip->window),
GDK_WINDOW_TYPE_HINT_TOOLTIP);
+
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");
@@ -234,6 +276,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;
}
@@ -583,19 +632,209 @@ gtk_tooltip_window_style_set (GtkTooltip
gtk_widget_queue_draw (tooltip->window);
}
+static void
+draw_round_rect (cairo_t *cr,
+ gdouble aspect,
+ gdouble x,
+ gdouble y,
+ gdouble corner_radius,
+ gdouble width,
+ gdouble height)
+{
+ gdouble radius = corner_radius / aspect;
+
+ cairo_move_to (cr, x + radius, y);
+
+ /* top-right, left of the corner */
+ cairo_line_to (cr, x + width - radius, y);
+
+ /* top-right, below the corner */
+ cairo_arc (cr,
+ x + width - radius, y + radius, radius,
+ -90.0f * G_PI / 180.0f, 0.0f * G_PI / 180.0f);
+
+ /* bottom-right, above the corner */
+ cairo_line_to (cr, x + width, y + height - radius);
+
+ /* bottom-right, left of the corner */
+ cairo_arc (cr,
+ x + width - radius, y + height - radius, radius,
+ 0.0f * G_PI / 180.0f, 90.0f * G_PI / 180.0f);
+
+ /* bottom-left, right of the corner */
+ cairo_line_to (cr, x + radius, y + height);
+
+ /* bottom-left, above the corner */
+ cairo_arc (cr,
+ x + radius, y + height - radius, radius,
+ 90.0f * G_PI / 180.0f, 180.0f * G_PI / 180.0f);
+
+ /* top-left, below the corner */
+ cairo_line_to (cr, x, y + radius);
+
+ /* top-left, right of the corner */
+ cairo_arc (cr,
+ x + radius, y + radius, radius,
+ 180.0f * G_PI / 180.0f, 270.0f * G_PI / 180.0f);
+
+ cairo_close_path (cr);
+}
+
+static void
+fill_background (GtkWidget *widget,
+ cairo_t *cr)
+{
+ GdkColor color;
+ gdouble r, g, b;
+ gint radius;
+ gdouble background_alpha;
+ GtkStyle *style;
+ GtkAllocation allocation;
+
+ if (gdk_screen_is_composited (gtk_widget_get_screen (widget)))
+ background_alpha = 0.90;
+ else
+ background_alpha = 1.0;
+
+ style = gtk_widget_get_style (widget);
+
+ radius = MIN (style->xthickness, style->ythickness);
+ radius = MAX (radius, 1);
+
+ cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
+ cairo_paint (cr);
+ cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
+
+ gtk_widget_get_allocation (widget, &allocation);
+
+ draw_round_rect (cr,
+ 1.0, 0.5, 0.5, radius,
+ allocation.width - 1,
+ allocation.height - 1);
+
+ color = style->bg [GTK_STATE_NORMAL];
+ r = (float)color.red / 65535.0;
+ g = (float)color.green / 65535.0;
+ b = (float)color.blue / 65535.0;
+ cairo_set_source_rgba (cr, r, g, b, background_alpha);
+ cairo_fill_preserve (cr);
+
+ color = style->bg [GTK_STATE_SELECTED];
+ r = (float) color.red / 65535.0;
+ g = (float) color.green / 65535.0;
+ b = (float) color.blue / 65535.0;
+
+ cairo_set_source_rgba (cr, r, g, b, background_alpha);
+ cairo_set_line_width (cr, 1.0);
+ cairo_stroke (cr);
+}
+
+static void
+update_shape (GtkTooltip *tooltip)
+{
+ GdkScreen *screen;
+ cairo_t *cr;
+ cairo_surface_t *surface;
+ cairo_region_t *region;
+ gint width, height;
+ gboolean new_style;
+ gint radius;
+ GtkStyle *style;
+
+ gtk_widget_style_get (tooltip->window, "new-tooltip-style", &new_style, NULL);
+
+ if (!new_style)
+ {
+ gtk_widget_shape_combine_region (tooltip->window, NULL);
+ return;
+ }
+
+ screen = gtk_widget_get_screen (tooltip->window);
+ style = gtk_widget_get_style (tooltip->window);
+
+ gtk_window_get_size (GTK_WINDOW (tooltip->window), &width, &height);
+
+ if (gdk_screen_is_composited (screen))
+ {
+ const char *wm;
+
+ gtk_widget_shape_combine_region (tooltip->window, NULL);
+#ifdef GDK_WINDOWING_X11
+ /* This is a hack to keep the Metacity compositor from slapping a
+ * non-shaped shadow around the shaped tooltip
+ */
+ if (!gtk_widget_get_mapped (tooltip->window))
+ {
+ wm = gdk_x11_screen_get_window_manager_name (screen);
+ if (g_strcmp0 (wm, "Metacity") == 0)
+ gtk_window_set_type_hint (GTK_WINDOW (tooltip->window),
+ GDK_WINDOW_TYPE_HINT_DND);
+ }
+#endif
+ return;
+ }
+
+ radius = MIN (style->xthickness, style->ythickness);
+ radius = MAX (radius, 1);
+ surface = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height);
+ cr = cairo_create (surface);
+ if (cairo_status (cr) == CAIRO_STATUS_SUCCESS)
+ {
+ cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
+ cairo_paint (cr);
+
+ cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
+ cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
+ draw_round_rect (cr, 1.0, 0, 0, radius + 1, width, height);
+ cairo_fill (cr);
+ region = gdk_cairo_region_create_from_surface (surface);
+ gtk_widget_shape_combine_region (tooltip->window, region);
+ cairo_region_destroy (region);
+ }
+ cairo_destroy (cr);
+ cairo_surface_destroy (surface);
+}
+
static gboolean
gtk_tooltip_paint_window (GtkTooltip *tooltip,
- cairo_t *cr)
+ cairo_t *context)
{
- gtk_paint_flat_box (gtk_widget_get_style (tooltip->window),
- cr,
- GTK_STATE_NORMAL,
- GTK_SHADOW_OUT,
- tooltip->window,
- "tooltip",
- 0, 0,
- gtk_widget_get_allocated_width (tooltip->window),
- gtk_widget_get_allocated_height (tooltip->window));
+ gboolean new_style;
+
+ gtk_widget_style_get (tooltip->window, "new-tooltip-style", &new_style, NULL);
+
+ if (new_style)
+ {
+ cairo_surface_t *surface;
+ cairo_t *cr;
+
+ cairo_set_operator (context, CAIRO_OPERATOR_SOURCE);
+ surface = cairo_surface_create_similar (cairo_get_target (context),
+ CAIRO_CONTENT_COLOR_ALPHA,
+ gtk_widget_get_allocated_width (tooltip->window),
+ gtk_widget_get_allocated_height (tooltip->window));
+ cr = cairo_create (surface);
+ fill_background (tooltip->window, cr);
+ cairo_destroy (cr);
+
+ cairo_set_source_surface (context, surface, 0, 0);
+ cairo_paint (context);
+ cairo_surface_destroy (surface);
+
+ update_shape (tooltip);
+ }
+ else
+ {
+ gtk_paint_flat_box (gtk_widget_get_style (tooltip->window),
+ context,
+ GTK_STATE_NORMAL,
+ GTK_SHADOW_OUT,
+ tooltip->window,
+ "tooltip",
+ 0, 0,
+ gtk_widget_get_allocated_width (tooltip->window),
+ gtk_widget_get_allocated_height (tooltip->window));
+ }
return FALSE;
}
diff -up gtk+-2.91.3/gtk/gtkwidget.c.fresh-tooltips gtk+-2.91.3/gtk/gtkwidget.c
--- gtk+-2.91.3/gtk/gtkwidget.c.fresh-tooltips 2010-11-01 09:17:21.000000000 -0400
+++ gtk+-2.91.3/gtk/gtkwidget.c 2010-11-01 14:11:38.921410003 -0400
@@ -3190,6 +3190,14 @@ gtk_widget_class_init (GtkWidgetClass *k
1, G_MAXINT, 16,
GTK_PARAM_READABLE));
+ gtk_widget_class_install_style_property (klass,
+ g_param_spec_boolean ("new-tooltip-style",
+ NULL,
+ NULL,
+ FALSE,
+ GTK_PARAM_READABLE));
+
+
g_type_class_add_private (klass, sizeof (GtkWidgetPrivate));
}

34
db2html
View File

@ -1,34 +0,0 @@
#! /bin/sh
ADMON_GRAPHICS=/usr/share/sgml/docbook/dsssl-stylesheets-1.79/images/*.gif
output=docbook2html-dir
skip=0
for arg in "$@"
do
if [ $skip -gt 0 ]
then
skip=$(($skip - 1))
continue
fi
case $arg in
-h|--help|-v|--version) break
;;
-n|--nostd|-u|--nochunks) ;;
-*) skip=1
;;
*) output="$(echo $arg | sed 's,\.sgml$,,;s,\.sgm$,,;s,\.xml,,')"
echo "output is $output"
break
;;
esac
done
if [ -d ${output} ]
then
rm -rf ${output}.junk
mv ${output} ${output}.junk
fi
mkdir ${output}
mkdir ${output}/stylesheet-images
cp ${ADMON_GRAPHICS} ${output}/stylesheet-images
jw -f docbook -b html -o ${output} "$@"

View File

@ -1,6 +0,0 @@
XIM=none
XIM_PROGRAM=/bin/true
XIM_ARGS=
SHORT_DESC=im-cedilla
GTK_IM_MODULE=cedilla
QT_IM_MODULE=xim

View File

@ -1,67 +0,0 @@
From 231505b7a0a17b15b74c2fa741783b6268c8e8e2 Mon Sep 17 00:00:00 2001
From: Daniel Engberg <diizzy@FreeBSD.org>
Date: Sat, 24 Jun 2023 18:32:53 +0200
Subject: x11-toolkits/gtk40: Remove broken FFmpeg option
This option is considered experimental by upstream and there's
little to no interest of maintaining it so remove it
Reference: https://gitlab.gnome.org/GNOME/gtk/-/issues/5581
PR: 271145
Approved by: desktop (maintainer timeout, 6+ weeks)
---
x11-toolkits/gtk40/Makefile | 10 ++--------
x11-toolkits/gtk40/pkg-plist | 1 -
2 files changed, 2 insertions(+), 9 deletions(-)
diff --git a/x11-toolkits/gtk40/Makefile b/x11-toolkits/gtk40/Makefile
index 9d331d94c4f4..f732caf88310 100644
--- a/x11-toolkits/gtk40/Makefile
+++ b/x11-toolkits/gtk40/Makefile
@@ -32,7 +32,7 @@ USE_LDCONFIG= yes
USE_PERL5= build
USE_GNOME= atk cairo gdkpixbuf2 introspection:build pango \
librsvg2:run
-MESON_ARGS= -Dbuild-testsuite=false
+MESON_ARGS= -Dbuild-testsuite=false -Dmedia-ffmpeg=disabled
LDFLAGS+= -lexecinfo
BINARY_ALIAS= python3=${PYTHON_CMD}
@@ -46,8 +46,7 @@ GLIB_SCHEMAS= org.gtk.Demo4.gschema.xml \
org.gtk.gtk4.Settings.EmojiChooser.gschema.xml \
org.gtk.gtk4.Settings.FileChooser.gschema.xml
-OPTIONS_DEFINE= CUPS COLORD DEBUG BROADWAY FFMPEG \
- GSTREAMER VULKAN WAYLAND X11
+OPTIONS_DEFINE= CUPS COLORD DEBUG BROADWAY GSTREAMER VULKAN WAYLAND X11
OPTIONS_DEFAULT=CUPS COLORD BROADWAY GSTREAMER VULKAN WAYLAND X11
OPTIONS_SUB= yes
@@ -61,11 +60,6 @@ COLORD_MESON_ENABLED= colord
CUPS_LIB_DEPENDS= libcups.so:print/cups
CUPS_MESON_ENABLED= print-cups
-FFMPEG_DESC= FFmpeg multimedia backend
-FFMPEG_MESON_ENABLED= media-ffmpeg
-FFMPEG_RUN_DEPENDS= ffmpeg>0:multimedia/ffmpeg
-FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-
GSTREAMER_DESC= GStreamer multimedia backend
GSTREAMER_MESON_ENABLED=media-gstreamer
GSTREAMER_USES= gstreamer
diff --git a/x11-toolkits/gtk40/pkg-plist b/x11-toolkits/gtk40/pkg-plist
index d89ce582b1bb..05f6e06e5645 100644
--- a/x11-toolkits/gtk40/pkg-plist
+++ b/x11-toolkits/gtk40/pkg-plist
@@ -389,7 +389,6 @@ lib/girepository-1.0/Gdk-4.0.typelib
%%X11%%lib/girepository-1.0/GdkX11-4.0.typelib
lib/girepository-1.0/Gsk-4.0.typelib
lib/girepository-1.0/Gtk-4.0.typelib
-%%FFMPEG%%lib/gtk-4.0/4.0.0/media/libmedia-ffmpeg.so
%%GSTREAMER%%lib/gtk-4.0/4.0.0/media/libmedia-gstreamer.so
%%CUPS%%lib/gtk-4.0/4.0.0/printbackends/libprintbackend-cups.so
lib/gtk-4.0/4.0.0/printbackends/libprintbackend-file.so
--
cgit v1.2.3

View File

@ -1,14 +1,9 @@
%define majver %(echo %version | cut -d. -f 1-2)
%define libver 4.0
%define binver 4.0.0
#%define atk_version 2.5.3
#%define glib_version 2.33.1
#%define pango_version 1.30.0
#%define cairo_version 1.10.0
#%define gdk_pixbuf_version 2.26.0
Name: libgtk
Version: 4.12.5
Version: 4.14.0
Release: 1mamba
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs
Group: System/Libraries
@ -17,12 +12,6 @@ Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://gtk.org/
Source0: https://download.gnome.org/sources/gtk/%{majver}/gtk-%{version}.tar.xz
Source1: db2html
Source2: im-cedilla.conf
# https://bugzilla.gnome.org/show_bug.cgi?id=583273
Patch0: 0001-New-tooltip-style.patch
Patch1: libgtk3-fix-gtk-show-uri-crash.patch
Patch2: libgtk-4.12.1-upstream-disable-ffmpeg.patch
License: LGPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
@ -112,23 +101,10 @@ Requires: gtk-doc
%description apidocs
gtk+ API documentation.
#%package immodules
#Summary: Input methods for GTK+
#Group: System/Libraries
#Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
#Requires: imsettings
#%description immodules
#The gtk+ package contains the GIMP ToolKit (GTK+), a library for creating graphical user interfaces for the X Window System.
#GTK+ was originally written for the GIMP (GNU Image Manipulation Program) image processing program, but is now used by several other programs as well.
#If you are planning on using the GIMP or another program that uses GTK+, you'll need to have the gtk+ package installed.
#The %{name}-immodules package contains standalone input methods that are shipped as part of GTK+ 3.
%debug_package
%prep
%setup -q -n gtk-%{version}
#-D -T
#:<< _EOF
%build
%meson \
@ -188,19 +164,14 @@ FS=`stat -c %s %{_sysconfdir}/gtk-%{libver}/gtk-pixbuf.loaders 2>/dev/null`
%defattr(-,root,root)
%dir %{_sysconfdir}/gtk-%{libver}
%{_bindir}/gtk4-launch
#%{_bindir}/gtk-query-immodules-%{libver}
%{_bindir}/gtk4-update-icon-cache
%{_bindir}/gtk4-query-settings
#%{_libdir}/libgailutil-*.so.*
#%{_libdir}/libgdk-*.so.*
%{_libdir}/libgtk-*.so.*
%dir %{_libdir}/gtk-%{libver}
%dir %{_libdir}/gtk-%{libver}/%{binver}
%ghost %{_libdir}/gtk-%{libver}/%{binver}/immodules.cache
#%{_libdir}/gtk-%{libver}/%{binver}/media/libmedia-ffmpeg.so
%{_libdir}/gtk-%{libver}/%{binver}/media/libmedia-gstreamer.so
%dir %{_libdir}/gtk-%{libver}/%{binver}/printbackends
#%{_libdir}/gtk-%{libver}/%{binver}/printbackends/libprintbackend-*.la
%{_libdir}/gtk-%{libver}/%{binver}/printbackends/libprintbackend-*.so
%{_libdir}/girepository-1.0/Gdk-%{libver}.typelib
%{_libdir}/girepository-1.0/GdkX11-%{libver}.typelib
@ -251,6 +222,7 @@ FS=`stat -c %s %{_sysconfdir}/gtk-%{libver}/gtk-pixbuf.loaders 2>/dev/null`
%{_bindir}/gtk4-demo-application
%{_bindir}/gtk4-icon-browser
%{_bindir}/gtk4-node-editor
%{_bindir}/gtk4-path-tool
%{_bindir}/gtk4-print-editor
%{_bindir}/gtk4-rendernode-tool
%{_bindir}/gtk4-widget-factory
@ -259,10 +231,12 @@ FS=`stat -c %s %{_sysconfdir}/gtk-%{libver}/gtk-pixbuf.loaders 2>/dev/null`
%{_includedir}/gtk-%{libver}/gsk/*.h
%dir %{_includedir}/gtk-%{libver}/gsk/gl
%{_includedir}/gtk-%{libver}/gsk/gl/*
%dir %{_includedir}/gtk-%{libver}/gsk/vulkan
%{_includedir}/gtk-%{libver}/gsk/vulkan/*
%dir %{_includedir}/gtk-%{libver}/gsk/gpu
%{_includedir}/gtk-%{libver}/gsk/gpu/*
%dir %{_includedir}/gtk-%{libver}/gtk
%{_includedir}/gtk-%{libver}/gtk/*.h
%dir %{_includedir}/gtk-%{libver}/gtk/a11y
%{_includedir}/gtk-%{libver}/gtk/a11y/*
%dir %{_includedir}/gtk-%{libver}/gtk/css
%{_includedir}/gtk-%{libver}/gtk/css/*
%dir %{_includedir}/gtk-%{libver}/gtk/deprecated
@ -310,10 +284,11 @@ FS=`stat -c %s %{_sysconfdir}/gtk-%{libver}/gtk-pixbuf.loaders 2>/dev/null`
%{_datadir}/metainfo/org.gtk.PrintEditor4.appdata.xml
%{_datadir}/metainfo/org.gtk.WidgetFactory4.appdata.xml
%{_datadir}/metainfo/org.gtk.gtk4.NodeEditor.appdata.xml
%{_libdir}/pkgconfig/gtk4.pc
%{_libdir}/pkgconfig/gtk4-atspi.pc
%{_libdir}/pkgconfig/gtk4-unix-print.pc
%{_libdir}/pkgconfig/gtk4-wayland.pc
%{_libdir}/pkgconfig/gtk4-x11.pc
%{_libdir}/pkgconfig/gtk4.pc
%{_mandir}/man1/gtk4-broadwayd.1*
%{_mandir}/man1/gtk4-builder-tool.1*
%{_mandir}/man1/gtk4-demo-application.1*
@ -321,16 +296,15 @@ FS=`stat -c %s %{_sysconfdir}/gtk-%{libver}/gtk-pixbuf.loaders 2>/dev/null`
%{_mandir}/man1/gtk4-encode-symbolic-svg.1*
%{_mandir}/man1/gtk4-icon-browser.1*
%{_mandir}/man1/gtk4-node-editor.1*
%{_mandir}/man1/gtk4-path-tool.1*
%{_mandir}/man1/gtk4-rendernode-tool.1*
%{_mandir}/man1/gtk4-widget-factory.1*
#%doc ChangeLog HACKING NEWS README
#%files apidocs
#%defattr(-,root,root)
#%dir %{_datadir}/gtk-doc/html/gtk4
#%{_datadir}/gtk-doc/html/gtk4/*
%changelog
* Thu Mar 14 2024 Automatic Build System <autodist@openmamba.org> 4.14.0-1mamba
- automatic version update by autodist
* Fri Jan 19 2024 Automatic Build System <autodist@openmamba.org> 4.12.5-1mamba
- automatic version update by autodist

View File

@ -1,33 +0,0 @@
From 7e29fc5b421a049c2b88453232eddeefed9f1b7b Mon Sep 17 00:00:00 2001
From: Cosimo Cecchi <cosimoc@gnome.org>
Date: Thu, 13 Jan 2011 15:03:49 +0000
Subject: gtkshow: don't call _get_display() on a NULL GdkScreen
gtk_show_uri() is documented to accept a NULL screen to mean the default
one. Calling gdk_screen_get_display() on a NULL object will cause
segfaults.
---
diff --git a/gtk/gtkshow.c b/gtk/gtkshow.c
index ac3d1ac..ad396a2 100644
--- a/gtk/gtkshow.c
+++ b/gtk/gtkshow.c
@@ -63,10 +63,16 @@ gtk_show_uri (GdkScreen *screen,
{
GdkAppLaunchContext *context;
gboolean ret;
+ GdkDisplay *display;
g_return_val_if_fail (uri != NULL, FALSE);
- context = gdk_display_get_app_launch_context (gdk_screen_get_display (screen));
+ if (screen != NULL)
+ display = gdk_screen_get_display (screen);
+ else
+ display = gdk_display_get_default ();
+
+ context = gdk_display_get_app_launch_context (display);
gdk_app_launch_context_set_screen (context, screen);
gdk_app_launch_context_set_timestamp (context, timestamp);
--
cgit v0.8.3.1