diff options
-rw-r--r-- | src/empathy-chat-window.c | 13 |
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); } |