[gnome-builder/gnome-builder-43] libide/gui: restore panel state at the end
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/gnome-builder-43] libide/gui: restore panel state at the end
- Date: Thu, 22 Sep 2022 02:32:24 +0000 (UTC)
commit 26de2224ebbb4453832f1a1508097191b75acd5a
Author: Christian Hergert <chergert redhat com>
Date: Wed Sep 21 19:31:58 2022 -0700
libide/gui: restore panel state at the end
We want to do this very last so that the reveal-start/end/bottom state is
always going to be right, even if other panel restoration raises the
widget (thus showing the panel).
src/libide/gui/ide-workspace-session.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
---
diff --git a/src/libide/gui/ide-workspace-session.c b/src/libide/gui/ide-workspace-session.c
index f97948839..3973d0e67 100644
--- a/src/libide/gui/ide-workspace-session.c
+++ b/src/libide/gui/ide-workspace-session.c
@@ -513,6 +513,7 @@ _ide_workspace_restore_session_simple (IdeWorkspace *self,
IdeSession *session,
IdeWorkspaceDock *dock)
{
+ g_autoptr(IdeSessionItem) panels = NULL;
guint n_items;
IDE_ENTRY;
@@ -544,11 +545,15 @@ _ide_workspace_restore_session_simple (IdeWorkspace *self,
ide_workspace_restore_frame (self, type, item, dock);
else if (g_type_is_a (type, IDE_TYPE_WORKSPACE) &&
type == G_OBJECT_TYPE (self))
- ide_workspace_restore_panels (self, item, dock);
+ g_set_object (&panels, item);
else if (ide_str_equal0 (type_hint, "IdePane"))
ide_workspace_restore_pane (self, item, dock);
}
}
+ /* Restore panels last so their visibility remains intact */
+ if (panels != NULL)
+ ide_workspace_restore_panels (self, panels, dock);
+
IDE_EXIT;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]