diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-10-23 17:25:33 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-10-23 17:25:33 +0000 |
commit | 83fbdcd5e60308bb2b8b3b7dd98618a4d1d87572 (patch) | |
tree | c7708b7aaa8e4802e8d0b61f0fa2e016402d23a0 | |
parent | b973f7f375d4d0602437d4c5ab30a850cfab5f6a (diff) | |
parent | cb8bf6540ce5541aa236b7ab2f4158cf55d7fae9 (diff) | |
download | gtk+-83fbdcd5e60308bb2b8b3b7dd98618a4d1d87572.tar.gz |
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3226
See merge request GNOME/gtk!2739
-rw-r--r-- | docs/reference/gtk/images/search-entry.png | bin | 2418 -> 2990 bytes | |||
-rw-r--r-- | gtk/gtkdropdown.c | 10 | ||||
-rw-r--r-- | gtk/gtkeditablelabel.c | 3 | ||||
-rw-r--r-- | gtk/gtksearchentry.c | 9 | ||||
-rw-r--r-- | gtk/gtkwindow.c | 7 |
5 files changed, 18 insertions, 11 deletions
diff --git a/docs/reference/gtk/images/search-entry.png b/docs/reference/gtk/images/search-entry.png Binary files differindex 22549fc093..4ecdbfe8c4 100644 --- a/docs/reference/gtk/images/search-entry.png +++ b/docs/reference/gtk/images/search-entry.png diff --git a/gtk/gtkdropdown.c b/gtk/gtkdropdown.c index d33f1e9524..80dc7a1ae6 100644 --- a/gtk/gtkdropdown.c +++ b/gtk/gtkdropdown.c @@ -251,8 +251,6 @@ gtk_drop_down_dispose (GObject *object) { GtkDropDown *self = GTK_DROP_DOWN (object); - gtk_widget_unparent (gtk_widget_get_first_child (self->search_entry)); - g_clear_pointer (&self->popup, gtk_widget_unparent); g_clear_pointer (&self->button, gtk_widget_unparent); @@ -596,19 +594,11 @@ set_default_factory (GtkDropDown *self) static void gtk_drop_down_init (GtkDropDown *self) { - GtkWidget *icon; - g_type_ensure (GTK_TYPE_BUILTIN_ICON); g_type_ensure (GTK_TYPE_LIST_ITEM_WIDGET); gtk_widget_init_template (GTK_WIDGET (self)); - icon = g_object_new (GTK_TYPE_IMAGE, - "accessible-role", GTK_ACCESSIBLE_ROLE_NONE, - "icon-name", "system-search-symbolic", - NULL); - gtk_widget_insert_after (icon, self->search_entry, NULL); - set_default_factory (self); } diff --git a/gtk/gtkeditablelabel.c b/gtk/gtkeditablelabel.c index 959d0428d8..103b125649 100644 --- a/gtk/gtkeditablelabel.c +++ b/gtk/gtkeditablelabel.c @@ -341,6 +341,9 @@ gtk_editable_label_dispose (GObject *object) g_clear_pointer (&self->stack, gtk_widget_unparent); + self->entry = NULL; + self->label = NULL; + G_OBJECT_CLASS (gtk_editable_label_parent_class)->dispose (object); } diff --git a/gtk/gtksearchentry.c b/gtk/gtksearchentry.c index 78268113c8..5c227f6853 100644 --- a/gtk/gtksearchentry.c +++ b/gtk/gtksearchentry.c @@ -160,6 +160,8 @@ gtk_search_entry_finalize (GObject *object) gtk_editable_finish_delegate (GTK_EDITABLE (entry)); + gtk_widget_unparent (gtk_widget_get_first_child (GTK_WIDGET (entry))); + g_clear_pointer (&entry->entry, gtk_widget_unparent); g_clear_pointer (&entry->icon, gtk_widget_unparent); @@ -549,8 +551,15 @@ activate_cb (GtkText *text, static void gtk_search_entry_init (GtkSearchEntry *entry) { + GtkWidget *icon; GtkGesture *press; + icon = g_object_new (GTK_TYPE_IMAGE, + "accessible-role", GTK_ACCESSIBLE_ROLE_NONE, + "icon-name", "system-search-symbolic", + NULL); + gtk_widget_set_parent (icon, GTK_WIDGET (entry)); + entry->entry = gtk_text_new (); gtk_widget_set_parent (entry->entry, GTK_WIDGET (entry)); gtk_widget_set_hexpand (entry->entry, TRUE); diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 3f59e4e02c..feec52aa22 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -4702,11 +4702,16 @@ surface_state_changed (GtkWidget *widget) } if (changed_mask & GDK_TOPLEVEL_STATE_FULLSCREEN) - priv->fullscreen = (new_surface_state & GDK_TOPLEVEL_STATE_FULLSCREEN) ? TRUE : FALSE; + { + priv->fullscreen = (new_surface_state & GDK_TOPLEVEL_STATE_FULLSCREEN) ? TRUE : FALSE; + priv->fullscreen_initially = priv->fullscreen; + } if (changed_mask & GDK_TOPLEVEL_STATE_MAXIMIZED) { priv->maximized = (new_surface_state & GDK_TOPLEVEL_STATE_MAXIMIZED) ? TRUE : FALSE; + priv->maximize_initially = priv->maximized; + g_object_notify_by_pspec (G_OBJECT (widget), window_props[PROP_IS_MAXIMIZED]); } |