summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Schierer <lschiere@pidgin.im>2007-10-24 15:00:33 +0000
committerLuke Schierer <lschiere@pidgin.im>2007-10-24 15:00:33 +0000
commit3e4debd65db27ef176ba9567a8d115e523fce787 (patch)
tree6a7a5a7422f50382a5d1375e0ef32fb0bf57ab05
parent3eb9373c5913687614c78a25a650bb591c4a4179 (diff)
downloadpidgin-release-2.2.2.tar.gz
applied changes from 267f2e22b77cc35309c41a034169f74faaa46e1frelease-2.2.2
through 7793ae5b4dd75b3c2f62c2502dbd08c76dbe7b1c
-rw-r--r--ChangeLog4
-rw-r--r--pidgin/gtkconv.c10
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f44f446bf0..9fef515f4a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
+version 2.2.3:
+ Pidgin:
+ * Attempt to avoid focusing windows prompted by external events
+
version 2.2.2 (10/23/2007):
http://developer.pidgin.im/query?status=closed&milestone=2.2.2
NOTE: Due to the way this release was made, it is possible that
diff --git a/pidgin/gtkconv.c b/pidgin/gtkconv.c
index 92bb8eef22..ec17017800 100644
--- a/pidgin/gtkconv.c
+++ b/pidgin/gtkconv.c
@@ -8696,6 +8696,9 @@ pidgin_conv_window_new()
GtkPositionType pos;
GtkWidget *testidea;
GtkWidget *menubar;
+#if GTK_CHECK_VERSION(2,6,0)
+ GdkModifierType state;
+#endif
win = g_malloc0(sizeof(PidginWindow));
@@ -8703,6 +8706,10 @@ pidgin_conv_window_new()
/* Create the window. */
win->window = pidgin_create_window(NULL, 0, "conversation", TRUE);
+#if GTK_CHECK_VERSION(2,6,0)
+ if (!gtk_get_current_event_state(&state))
+ gtk_window_set_focus_on_map(GTK_WINDOW(win->window), FALSE);
+#endif
pidgin_conv_restore_position(win);
if (available_list == NULL) {
@@ -8775,7 +8782,8 @@ pidgin_conv_window_new()
g_signal_connect(G_OBJECT(win->window), "show",
G_CALLBACK(winpidgin_ensure_onscreen), win->window);
- if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/win32/minimize_new_convs"))
+ if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/win32/minimize_new_convs")
+ && !gtk_get_current_event_state(&state))
gtk_window_iconify(GTK_WINDOW(win->window));
#endif