aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/empathy-chat-window.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c
index bc50355a5..346c23a85 100644
--- a/src/empathy-chat-window.c
+++ b/src/empathy-chat-window.c
@@ -2188,12 +2188,19 @@ empathy_chat_window_add_chat (EmpathyChatWindow *window,
g_object_unref (gsettings);
+ if (empathy_chat_is_room (chat))
+ name = "room-window";
+
if (separate_windows) {
+ /* First bind to the 'generic' name. So new window for which we didn't
+ * save a geometry yet will have the geometry of the last saved
+ * window (bgo #601191). */
+ empathy_geometry_bind (GTK_WINDOW (priv->dialog), name);
+
+ /* Then bind it to the name of the contact/room so we'll save the
+ * geometry specific to this window */
name = empathy_chat_get_id (chat);
}
- else if (empathy_chat_is_room (chat)) {
- name = "room-window";
- }
empathy_geometry_bind (GTK_WINDOW (priv->dialog), name);
}