Merge branch 'office-runner-crash' into 'master'

Fix a crash in gtk-builder-tool

See merge request GNOME/gtk!1064
This commit is contained in:
Matthias Clasen 2019-08-26 13:50:43 +00:00
commit 9bb58c3eca
3 changed files with 498 additions and 0 deletions

View File

@ -793,6 +793,7 @@ rewrite_stack_child (Element *child, MyParserData *data)
new_object->attribute_values = g_new0 (char *, 2);
new_object->attribute_values[0] = g_strdup ("GtkStackPage");
new_object->children = packing->children;
new_object->parent = child;
packing->children = NULL;
prop = g_new0 (Element, 1);
@ -802,6 +803,7 @@ rewrite_stack_child (Element *child, MyParserData *data)
prop->attribute_values = g_new0 (char *, 2);
prop->attribute_values[0] = g_strdup ("child");
prop->children = g_list_append (prop->children, object);
prop->parent = new_object;
new_object->children = g_list_append (new_object->children, prop);
g_list_free (child->children);
@ -940,6 +942,7 @@ rewrite_notebook_page (Element *child, Element *tab, MyParserData *data)
new_object->attribute_names[0] = g_strdup ("class");
new_object->attribute_values = g_new0 (char *, 2);
new_object->attribute_values[0] = g_strdup ("GtkNotebookPage");
new_object->parent = child;
if (packing)
{
new_object->children = packing->children;
@ -953,6 +956,7 @@ rewrite_notebook_page (Element *child, Element *tab, MyParserData *data)
prop->attribute_values = g_new0 (char *, 2);
prop->attribute_values[0] = g_strdup ("child");
prop->children = g_list_append (prop->children, object);
prop->parent = new_object;
new_object->children = g_list_append (new_object->children, prop);
if (tab_obj)
@ -964,6 +968,7 @@ rewrite_notebook_page (Element *child, Element *tab, MyParserData *data)
prop->attribute_values = g_new0 (char *, 2);
prop->attribute_values[0] = g_strdup ("tab");
prop->children = g_list_append (prop->children, tab_obj);
prop->parent = new_object;
new_object->children = g_list_append (new_object->children, prop);
}

View File

@ -0,0 +1,207 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkWindow" id="window1">
<property name="border_width">12</property>
<property name="title" translatable="yes">Office Runner</property>
<property name="resizable">0</property>
<property name="window_position">center</property>
<child>
<object class="GtkBox" id="box1">
<property name="margin_left">12</property>
<property name="margin_right">12</property>
<property name="margin_bottom">12</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkNotebook" id="notebook1">
<property name="show_tabs">0</property>
<property name="show_border">0</property>
<child>
<object class="GtkNotebookPage">
<property name="child">
<object class="GtkGrid" id="grid1">
<property name="row_spacing">12</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkImage" id="run_image">
<property name="vexpand">1</property>
</object>
</child>
<child>
<object class="GtkLabel" id="label5">
<property name="valign">start</property>
<property name="hexpand">1</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"> • Click the &quot;Run!&quot; button, and then dash to your desk or meeting.
• You are allowed to close your laptop lid to run faster
</property>
<property name="use_markup">1</property>
<layout>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
</layout>
</object>
</child>
<child>
<object class="GtkLabel" id="label7">
<property name="label" translatable="yes">Rules</property>
<attributes>
<attribute name="scale" value="2"></attribute>
</attributes>
<layout>
<property name="left_attach">1</property>
</layout>
</object>
</child>
<child>
<placeholder/>
</child>
</object>
</property>
<property name="tab">
<object class="GtkLabel" id="label1">
<property name="label" translatable="no">page 1</property>
</object>
</property>
</object>
</child>
<child>
<object class="GtkNotebookPage">
<property name="position">1</property>
<property name="child">
<object class="GtkGrid" id="grid2">
<property name="row_spacing">12</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkImage" id="time_image">
<property name="vexpand">1</property>
<layout>
<property name="left_attach">1</property>
</layout>
</object>
</child>
<child>
<object class="GtkLabel" id="time_label">
<property name="hexpand">1</property>
<property name="vexpand">1</property>
<property name="label" translatable="no">00:00.00</property>
<attributes>
<attribute name="scale" value="10"></attribute>
<attribute name="font-features" value="tnum 1"></attribute>
</attributes>
</object>
</child>
</object>
</property>
<property name="tab">
<object class="GtkLabel" id="label2">
<property name="label" translatable="no">page 2</property>
</object>
</property>
</object>
</child>
<child>
<object class="GtkNotebookPage">
<property name="position">2</property>
<property name="child">
<object class="GtkGrid" id="grid3">
<property name="hexpand">1</property>
<property name="row_spacing">12</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkImage" id="trophy_image"/>
</child>
<child>
<object class="GtkBox" id="box2">
<property name="valign">center</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="result_label">
<property name="valign">start</property>
<property name="xalign">0</property>
<property name="label" translatable="no">Silver Trophy!</property>
<property name="use_markup">1</property>
<style>
<class name="dim-label"/>
</style>
<attributes>
<attribute name="weight" value="bold"></attribute>
<attribute name="scale" value="1.5"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="current_time_label">
<property name="valign">start</property>
<property name="xalign">0</property>
<property name="label" translatable="no">You managed to finish the route with the 2nd best time ever, &lt;b&gt;48.15 seconds!&lt;/b&gt; </property>
<property name="use_markup">1</property>
<property name="wrap">1</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="better_time_label">
<property name="valign">start</property>
<property name="xalign">0</property>
<property name="label" translatable="no">Only &lt;b&gt;3.75 seconds&lt;/b&gt; separate you from the gold trophy!</property>
<property name="use_markup">1</property>
<property name="wrap">1</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<layout>
<property name="left_attach">1</property>
</layout>
</object>
</child>
</object>
</property>
<property name="tab">
<object class="GtkLabel" id="label3">
<property name="label" translatable="no">page 3</property>
</object>
</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="run_button">
<property name="can_focus">1</property>
<property name="receives_default">1</property>
<property name="hexpand">1</property>
<property name="vexpand">1</property>
<property name="use_action_appearance">False</property>
<child>
<object class="GtkLabel" id="run_button_label">
<property name="label" translatable="yes">Run!</property>
<attributes>
<attribute name="scale" value="3"></attribute>
</attributes>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@ -0,0 +1,286 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkWindow" id="window1">
<property name="can_focus">False</property>
<property name="border_width">12</property>
<property name="title" translatable="yes">Office Runner</property>
<property name="resizable">False</property>
<property name="window_position">center</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">12</property>
<property name="margin_right">12</property>
<property name="margin_bottom">12</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkNotebook" id="notebook1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_tabs">False</property>
<property name="show_border">False</property>
<child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">12</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkImage" id="run_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="vexpand">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="hexpand">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"> • Click the "Run!" button, and then dash to your desk or meeting.
• You are allowed to close your laptop lid to run faster
</property>
<property name="use_markup">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label7">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Rules</property>
<attributes>
<attribute name="scale" value="2"/>
</attributes>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
<child type="tab">
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="no">page 1</property>
</object>
<packing>
<property name="tab_fill">False</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">12</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkImage" id="time_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="vexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="time_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="label" translatable="no">00:00.00</property>
<attributes>
<attribute name="scale" value="10"/>
<attribute name="font-features" value="tnum 1"/>
</attributes>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child type="tab">
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="no">page 2</property>
</object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="row_spacing">12</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkImage" id="trophy_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="result_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="xalign">0</property>
<property name="label" translatable="no">Silver Trophy!</property>
<property name="use_markup">True</property>
<style>
<class name="dim-label"/>
</style>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="scale" value="1.5"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="current_time_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="xalign">0</property>
<property name="label" translatable="no">You managed to finish the route with the 2nd best time ever, &lt;b&gt;48.15 seconds!&lt;/b&gt; </property>
<property name="use_markup">True</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="better_time_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="xalign">0</property>
<property name="label" translatable="no">Only &lt;b&gt;3.75 seconds&lt;/b&gt; separate you from the gold trophy!</property>
<property name="use_markup">True</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="position">2</property>
</packing>
</child>
<child type="tab">
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="no">page 3</property>
</object>
<packing>
<property name="position">2</property>
<property name="tab_fill">False</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="run_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="use_action_appearance">False</property>
<child>
<object class="GtkLabel" id="run_button_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Run!</property>
<attributes>
<attribute name="scale" value="3"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>