mirror of https://github.com/GNOME/gimp.git
libgimp/gimpui.c (gimp_window_set_transient_for) These functions are used
2006-10-16 Tor Lillqvist <tml@novell.com> * libgimp/gimpui.c (gimp_window_set_transient_for) * app/widgets/gimpwidgets-utils.c (gimp_window_set_transient_for): These functions are used for cross-process transient-for, which causes hangs on Win32. Bypass on Win32 for now. (#359538)
This commit is contained in:
parent
091a12bcc2
commit
eac61e1e12
|
@ -1,3 +1,10 @@
|
|||
2006-10-16 Tor Lillqvist <tml@novell.com>
|
||||
|
||||
* libgimp/gimpui.c (gimp_window_set_transient_for)
|
||||
* app/widgets/gimpwidgets-utils.c (gimp_window_set_transient_for):
|
||||
These functions are used for cross-process transient-for, which
|
||||
causes hangs on Win32. Bypass on Win32 for now. (#359538)
|
||||
|
||||
2006-10-16 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* plug-ins/winicon/icodialog.c
|
||||
|
|
|
@ -829,6 +829,7 @@ gimp_window_get_native (GtkWindow *window)
|
|||
#ifdef __GNUC__
|
||||
#warning gimp_window_get_native() unimplementable for the target windowing system
|
||||
#endif
|
||||
return (GdkNativeWindow)0;
|
||||
#endif
|
||||
|
||||
#ifdef GDK_WINDOWING_WIN32
|
||||
|
@ -857,6 +858,14 @@ void
|
|||
gimp_window_set_transient_for (GtkWindow *window,
|
||||
guint32 parent_ID)
|
||||
{
|
||||
/* Cross-process transient-for is broken in gdk/win32 <= 2.10.6. It
|
||||
* causes hangs, at least when used as by the gimp and script-fu
|
||||
* processes. In some newer GTK+ version it will be fixed to be a
|
||||
* no-op. If it eventually is fixed to actually work, change this to
|
||||
* a run-time check of GTK+ version. Remember to change also the
|
||||
* function with the same name in libgimp/gimpui.c
|
||||
*/
|
||||
#ifndef GDK_WINDOWING_WIN32
|
||||
GdkWindow *parent;
|
||||
|
||||
parent = gdk_window_foreign_new_for_display (gdk_display_get_default (),
|
||||
|
@ -873,6 +882,7 @@ gimp_window_set_transient_for (GtkWindow *window,
|
|||
parent, 0);
|
||||
|
||||
g_object_unref (parent);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -278,6 +278,7 @@ gimp_window_set_transient_for (GtkWindow *window,
|
|||
{
|
||||
gtk_window_set_transient_for (window, NULL);
|
||||
|
||||
#ifndef GDK_WINDOWING_WIN32
|
||||
g_signal_handlers_disconnect_matched (window, G_SIGNAL_MATCH_FUNC,
|
||||
0, 0, NULL,
|
||||
gimp_window_transient_realized,
|
||||
|
@ -293,4 +294,5 @@ gimp_window_set_transient_for (GtkWindow *window,
|
|||
G_CALLBACK (gimp_window_transient_realized),
|
||||
parent, 0);
|
||||
g_object_unref (parent);
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue