[gnome-text-editor] openpopover: avoid calling gtk_stack_set_visible_child()
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-text-editor] openpopover: avoid calling gtk_stack_set_visible_child()
- Date: Fri, 29 Oct 2021 02:41:57 +0000 (UTC)
commit 6c797d503ed80ce75804ddf6e0edf828c8d8462e
Author: Christian Hergert <chergert redhat com>
Date: Thu Oct 28 19:39:30 2021 -0700
openpopover: avoid calling gtk_stack_set_visible_child()
It is faster to compare against gtk_stack_get_visible_child() than to call
gtk_stack_set_visible_child() as it looks up the page by widget.
Related #192
src/editor-open-popover.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
---
diff --git a/src/editor-open-popover.c b/src/editor-open-popover.c
index 070fb96..d79253e 100644
--- a/src/editor-open-popover.c
+++ b/src/editor-open-popover.c
@@ -316,13 +316,18 @@ editor_open_popover_items_changed_cb (EditorOpenPopover *self,
guint added,
GListModel *model)
{
+ GtkWidget *child;
+
g_assert (EDITOR_IS_OPEN_POPOVER (self));
g_assert (G_IS_LIST_MODEL (model));
if (added || g_list_model_get_n_items (model))
- gtk_stack_set_visible_child (self->stack, self->recent);
+ child = self->recent;
else
- gtk_stack_set_visible_child (self->stack, self->empty);
+ child = self->empty;
+
+ if (child != gtk_stack_get_visible_child (self->stack))
+ gtk_stack_set_visible_child (self->stack, child);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]