* Merge patch below from Ubuntu.

* debian/patches/093_git_change_fix_focus_issue.patch:
  - upstream git change to fix a timestamp issue leading to get nautilus.
    dialog opening sometime unfocussed for example (lp: #333366)
This commit is contained in:
Loïc Minier
2009-04-09 12:13:33 +00:00
parent 36a89ff46e
commit 5aca6aa602
3 changed files with 52 additions and 0 deletions

6
debian/changelog vendored
View File

@ -55,6 +55,12 @@ gtk+2.0 (2.16.0-2) UNRELEASED; urgency=low
* Only pass -j to the main make call, do not parallelize the debian/rules
themselves as it seems to be racy for an unidentified reason which is hard
to reproduce.
* Merge patch below from Ubuntu.
[ Sebastien Bacher ]
* debian/patches/093_git_change_fix_focus_issue.patch:
- upstream git change to fix a timestamp issue leading to get nautilus.
dialog opening sometime unfocussed for example (lp: #333366)
-- Sebastian Dröge <slomo@debian.org> Sat, 04 Apr 2009 07:30:56 +0200

View File

@ -0,0 +1,45 @@
From 5e0bd0c9bed0398f12a311ecd57a4bb36a1bbbf6 Mon Sep 17 00:00:00 2001
From: Alexander Larsson <alexl@redhat.com>
Date: Tue, 07 Apr 2009 13:39:00 +0000
Subject: Set user_time from startup_id if window realized
For non-realized windows we set the user_time from the startup id on
realization. However, if the window is already realized when the
startup_id is not set we currently don't, but we should. (#573922)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 4bbd53e..1238c22 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -1500,18 +1500,21 @@ gtk_window_set_startup_id (GtkWindow *window,
g_free (priv->startup_id);
priv->startup_id = g_strdup (startup_id);
-
+
if (GTK_WIDGET_REALIZED (window))
{
+ guint32 timestamp = extract_time_from_startup_id (priv->startup_id);
+
+#ifdef GDK_WINDOWING_X11
+ if (timestamp != GDK_CURRENT_TIME)
+ gdk_x11_window_set_user_time (GTK_WIDGET (window)->window, timestamp);
+#endif
+
/* Here we differentiate real and "fake" startup notification IDs,
* constructed on purpose just to pass interaction timestamp
- */
+ */
if (startup_id_is_fake (priv->startup_id))
- {
- guint32 timestamp = extract_time_from_startup_id (priv->startup_id);
-
- gtk_window_present_with_time (window, timestamp);
- }
+ gtk_window_present_with_time (window, timestamp);
else
{
gdk_window_set_startup_id (GTK_WIDGET (window)->window,
--
cgit v0.8.2

View File

@ -17,3 +17,4 @@
070_mandatory-relibtoolize.patch
072_workaround_directfb_build.patch
091_workaround_no_gtk_init_incorrect_display.patch
093_git_change_fix_focus_issue.patch