? spelling-eror.patch
Index: gdk/x11/gdkdisplay-x11.c
===================================================================
RCS file: /cvs/gnome/gtk+/gdk/x11/gdkdisplay-x11.c,v
retrieving revision 1.51.2.4
diff -p -u -r1.51.2.4 gdkdisplay-x11.c
--- gdk/x11/gdkdisplay-x11.c	1 Feb 2005 18:07:39 -0000	1.51.2.4
+++ gdk/x11/gdkdisplay-x11.c	12 Feb 2005 00:05:15 -0000
@@ -1184,3 +1184,19 @@ gdk_display_store_clipboard (GdkDisplay 
   gdk_error_trap_pop ();
 
 }
+
+/**
+ * gdk_x11_get_user_time_libgtk_only
+ * @display: a #GdkDisplay
+ *
+ * Returns the timestamp of the last user interaction on 
+ * @display. The timestamp is taken from events caused
+ * by user interaction such as key presses or pointer 
+ * movements. See gdk_x11_window_set_user_time().
+ */
+guint32
+gdk_x11_get_user_time_libgtk_only (GdkDisplay *display)
+{
+  return GDK_DISPLAY_X11 (display)->user_time;
+}
+
Index: gdk/x11/gdkx.h
===================================================================
RCS file: /cvs/gnome/gtk+/gdk/x11/gdkx.h,v
retrieving revision 1.40
diff -p -u -r1.40 gdkx.h
--- gdk/x11/gdkx.h	9 Oct 2004 03:31:50 -0000	1.40
+++ gdk/x11/gdkx.h	12 Feb 2005 00:05:15 -0000
@@ -139,6 +139,7 @@ GdkColormap *gdk_x11_colormap_foreign_ne
 gpointer      gdk_xid_table_lookup_for_display (GdkDisplay *display,
 						XID         xid);
 guint32       gdk_x11_get_server_time  (GdkWindow       *window);
+guint32       gdk_x11_get_user_time_libgtk_only (GdkDisplay *display);
 
 /* returns TRUE if we support the given WM spec feature */
 gboolean gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen,
Index: gtk/gtkwindow.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkwindow.c,v
retrieving revision 1.281.2.2
diff -p -u -r1.281.2.2 gtkwindow.c
--- gtk/gtkwindow.c	2 Feb 2005 03:54:07 -0000	1.281.2.2
+++ gtk/gtkwindow.c	12 Feb 2005 00:05:15 -0000
@@ -29,6 +29,9 @@
 #include <limits.h>
 #include "gdk/gdk.h"
 #include "gdk/gdkkeysyms.h"
+#ifdef GDK_WINDOWING_X11
+#include <gdk/x11/gdkx.h>
+#endif
 
 #include "gtkalias.h"
 #include "gtkprivate.h"
@@ -5932,8 +5935,13 @@ gtk_window_present (GtkWindow *window)
       /* note that gdk_window_focus() will also move the window to
        * the current desktop, for WM spec compliant window managers.
        */
+#ifdef GDK_WINDOWING_X11
+      gdk_window_focus (widget->window,
+                        gdk_x11_get_user_time_libgtk_only (gtk_widget_get_display (widget)));
+#else
       gdk_window_focus (widget->window,
                         gtk_get_current_event_time ());
+#endif
     }
   else
     {
