/cpw/tomkiewicz/masterpassword: 856ec75f52db: Merge with main
Tomasz Wasilczyk
tomkiewicz at cpw.pidgin.im
Wed May 15 13:56:20 EDT 2013
Changeset: 856ec75f52db5cc3104df5e5720003797f5d4aec
Author: Tomasz Wasilczyk <tomkiewicz at cpw.pidgin.im>
Date: 2013-05-15 19:56 +0200
Branch: soc.2008.masterpassword
URL: https://hg.pidgin.im/cpw/tomkiewicz/masterpassword/rev/856ec75f52db
Description:
Merge with main
diffstat:
pidgin/gtkrequest.c | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
diffs (42 lines):
diff --git a/pidgin/gtkrequest.c b/pidgin/gtkrequest.c
--- a/pidgin/gtkrequest.c
+++ b/pidgin/gtkrequest.c
@@ -1747,6 +1747,26 @@ pidgin_request_folder(const char *title,
return (void *)data;
}
+#ifdef _WIN32
+
+/* Not needed (yet) for non-win32, but should work everywhere. */
+static void
+pidgin_window_detach_children(GtkWindow* parent)
+{
+ GList *it;
+
+ g_return_if_fail(parent != NULL);
+
+ it = gtk_window_list_toplevels();
+ for (it = g_list_first(it); it != NULL; it = g_list_next(it)) {
+ GtkWindow *win = GTK_WINDOW(it->data);
+ if (gtk_window_get_transient_for(win) == parent)
+ gtk_window_set_transient_for(win, NULL);
+ }
+}
+
+#endif
+
static void
pidgin_close_request(PurpleRequestType type, void *ui_handle)
{
@@ -1754,6 +1774,11 @@ pidgin_close_request(PurpleRequestType t
g_free(data->cbs);
+#ifdef _WIN32
+ /* Win32 gtk ignores gtk_window_set_destroy_with_parent(..., FALSE). */
+ pidgin_window_detach_children(GTK_WINDOW(data->dialog));
+#endif
+
gtk_widget_destroy(data->dialog);
if (type == PURPLE_REQUEST_FIELDS)
More information about the Commits
mailing list