summaryrefslogtreecommitdiff
path: root/gtk/gtkbuilderprivate.h
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-09-24 16:34:48 -0400
committerMatthias Clasen <mclasen@redhat.com>2021-09-27 17:47:24 -0400
commitec624029089d0e9ffc4d1b759b15e0983fb87f1d (patch)
treea170e5d54d9967c2b072e2b1b54c202fd3631b86 /gtk/gtkbuilderprivate.h
parentc8f29a689d0721cc9ffb485073c4f999c6585385 (diff)
downloadgtk+-fix-builder-parsing.tar.gz
builder: Fix parsing of mixed declarationsfix-builder-parsing
The GtkBuilder parser constructs the object e.g. when handling a <binding> element. There may be more <property> elements after it, which we were just not applying. Fix that by always applying property when we see </object>. To do that, we need to track the applied status per property. Test included. Fixes: #4208
Diffstat (limited to 'gtk/gtkbuilderprivate.h')
-rw-r--r--gtk/gtkbuilderprivate.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/gtk/gtkbuilderprivate.h b/gtk/gtkbuilderprivate.h
index 913fa263a9..32cb470f4b 100644
--- a/gtk/gtkbuilderprivate.h
+++ b/gtk/gtkbuilderprivate.h
@@ -53,7 +53,6 @@ typedef struct {
GObject *object;
CommonInfo *parent;
- gboolean applied_properties;
} ObjectInfo;
typedef struct {
@@ -71,8 +70,9 @@ typedef struct {
GParamSpec *pspec;
gpointer value;
GString *text;
- gboolean translatable:1;
- gboolean bound:1;
+ gboolean translatable : 1;
+ gboolean bound : 1;
+ gboolean applied : 1;
char *context;
int line;
int col;