summary refs log tree commit diff
path: root/src/libnmt-newt
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2023-02-10 11:50:34 +0100
committerMichael Biebl <biebl@debian.org>2023-02-10 11:50:34 +0100
commit1372848511cb896b80b51ed1a3e9606bd9816631 (patch)
tree674792b9385bdef935988894b45f06b2af39f88c /src/libnmt-newt
parent40ec077ea305994c1fc2130add6787ca0c73e2c6 (diff)
New upstream version 1.42.0 upstream/1.42.0
Diffstat (limited to 'src/libnmt-newt')
-rw-r--r--src/libnmt-newt/nmt-newt-button-box.h2
-rw-r--r--src/libnmt-newt/nmt-newt-button.h2
-rw-r--r--src/libnmt-newt/nmt-newt-checkbox.h2
-rw-r--r--src/libnmt-newt/nmt-newt-component.h2
-rw-r--r--src/libnmt-newt/nmt-newt-container.h2
-rw-r--r--src/libnmt-newt/nmt-newt-entry-numeric.h2
-rw-r--r--src/libnmt-newt/nmt-newt-entry.h3
-rw-r--r--src/libnmt-newt/nmt-newt-form.c26
-rw-r--r--src/libnmt-newt/nmt-newt-form.h2
-rw-r--r--src/libnmt-newt/nmt-newt-grid.c14
-rw-r--r--src/libnmt-newt/nmt-newt-grid.h2
-rw-r--r--src/libnmt-newt/nmt-newt-label.h3
-rw-r--r--src/libnmt-newt/nmt-newt-listbox.h2
-rw-r--r--src/libnmt-newt/nmt-newt-popup.c10
-rw-r--r--src/libnmt-newt/nmt-newt-popup.h3
-rw-r--r--src/libnmt-newt/nmt-newt-section.h2
-rw-r--r--src/libnmt-newt/nmt-newt-separator.h2
-rw-r--r--src/libnmt-newt/nmt-newt-stack.c6
-rw-r--r--src/libnmt-newt/nmt-newt-stack.h3
-rw-r--r--src/libnmt-newt/nmt-newt-textbox.h2
-rw-r--r--src/libnmt-newt/nmt-newt-toggle-button.h2
-rw-r--r--src/libnmt-newt/nmt-newt-widget.h2
22 files changed, 39 insertions, 57 deletions
diff --git a/src/libnmt-newt/nmt-newt-button-box.h b/src/libnmt-newt/nmt-newt-button-box.h
index 6d17778b..e24cde7f 100644
--- a/src/libnmt-newt/nmt-newt-button-box.h
+++ b/src/libnmt-newt/nmt-newt-button-box.h
@@ -10,7 +10,7 @@
 
 #define NMT_TYPE_NEWT_BUTTON_BOX (nmt_newt_button_box_get_type())
 #define NMT_NEWT_BUTTON_BOX(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_BUTTON_BOX, NmtNewtButtonBox))
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_BUTTON_BOX, NmtNewtButtonBox))
 #define NMT_NEWT_BUTTON_BOX_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_BUTTON_BOX, NmtNewtButtonBoxClass))
 #define NMT_IS_NEWT_BUTTON_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_BUTTON_BOX))
diff --git a/src/libnmt-newt/nmt-newt-button.h b/src/libnmt-newt/nmt-newt-button.h
index 12649600..cd724b23 100644
--- a/src/libnmt-newt/nmt-newt-button.h
+++ b/src/libnmt-newt/nmt-newt-button.h
@@ -10,7 +10,7 @@
 
 #define NMT_TYPE_NEWT_BUTTON (nmt_newt_button_get_type())
 #define NMT_NEWT_BUTTON(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_BUTTON, NmtNewtButton))
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_BUTTON, NmtNewtButton))
 #define NMT_NEWT_BUTTON_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_BUTTON, NmtNewtButtonClass))
 #define NMT_IS_NEWT_BUTTON(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_BUTTON))
diff --git a/src/libnmt-newt/nmt-newt-checkbox.h b/src/libnmt-newt/nmt-newt-checkbox.h
index c33c086a..86595b74 100644
--- a/src/libnmt-newt/nmt-newt-checkbox.h
+++ b/src/libnmt-newt/nmt-newt-checkbox.h
@@ -10,7 +10,7 @@
 
 #define NMT_TYPE_NEWT_CHECKBOX (nmt_newt_checkbox_get_type())
 #define NMT_NEWT_CHECKBOX(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_CHECKBOX, NmtNewtCheckbox))
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_CHECKBOX, NmtNewtCheckbox))
 #define NMT_NEWT_CHECKBOX_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_CHECKBOX, NmtNewtCheckboxClass))
 #define NMT_IS_NEWT_CHECKBOX(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_CHECKBOX))
diff --git a/src/libnmt-newt/nmt-newt-component.h b/src/libnmt-newt/nmt-newt-component.h
index 54164c54..5426f0b0 100644
--- a/src/libnmt-newt/nmt-newt-component.h
+++ b/src/libnmt-newt/nmt-newt-component.h
@@ -10,7 +10,7 @@
 
 #define NMT_TYPE_NEWT_COMPONENT (nmt_newt_component_get_type())
 #define NMT_NEWT_COMPONENT(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_COMPONENT, NmtNewtComponent))
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_COMPONENT, NmtNewtComponent))
 #define NMT_NEWT_COMPONENT_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_COMPONENT, NmtNewtComponentClass))
 #define NMT_IS_NEWT_COMPONENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_COMPONENT))
diff --git a/src/libnmt-newt/nmt-newt-container.h b/src/libnmt-newt/nmt-newt-container.h
index 02585294..69851f6c 100644
--- a/src/libnmt-newt/nmt-newt-container.h
+++ b/src/libnmt-newt/nmt-newt-container.h
@@ -10,7 +10,7 @@
 
 #define NMT_TYPE_NEWT_CONTAINER (nmt_newt_container_get_type())
 #define NMT_NEWT_CONTAINER(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_CONTAINER, NmtNewtContainer))
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_CONTAINER, NmtNewtContainer))
 #define NMT_NEWT_CONTAINER_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_CONTAINER, NmtNewtContainerClass))
 #define NMT_IS_NEWT_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_CONTAINER))
diff --git a/src/libnmt-newt/nmt-newt-entry-numeric.h b/src/libnmt-newt/nmt-newt-entry-numeric.h
index a10e4c5b..7a4d2c81 100644
--- a/src/libnmt-newt/nmt-newt-entry-numeric.h
+++ b/src/libnmt-newt/nmt-newt-entry-numeric.h
@@ -10,7 +10,7 @@
 
 #define NMT_TYPE_NEWT_ENTRY_NUMERIC (nmt_newt_entry_numeric_get_type())
 #define NMT_NEWT_ENTRY_NUMERIC(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_ENTRY_NUMERIC, NmtNewtEntryNumeric))
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_ENTRY_NUMERIC, NmtNewtEntryNumeric))
 #define NMT_NEWT_ENTRY_NUMERIC_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_ENTRY_NUMERIC, NmtNewtEntryNumericClass))
 #define NMT_IS_NEWT_ENTRY_NUMERIC(obj) \
diff --git a/src/libnmt-newt/nmt-newt-entry.h b/src/libnmt-newt/nmt-newt-entry.h
index 81221812..5b0ff908 100644
--- a/src/libnmt-newt/nmt-newt-entry.h
+++ b/src/libnmt-newt/nmt-newt-entry.h
@@ -9,7 +9,8 @@
 #include "nmt-newt-component.h"
 
 #define NMT_TYPE_NEWT_ENTRY (nmt_newt_entry_get_type())
-#define NMT_NEWT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_ENTRY, NmtNewtEntry))
+#define NMT_NEWT_ENTRY(obj) \
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_ENTRY, NmtNewtEntry))
 #define NMT_NEWT_ENTRY_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_ENTRY, NmtNewtEntryClass))
 #define NMT_IS_NEWT_ENTRY(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_ENTRY))
diff --git a/src/libnmt-newt/nmt-newt-form.c b/src/libnmt-newt/nmt-newt-form.c
index 7d28c80e..de80b42a 100644
--- a/src/libnmt-newt/nmt-newt-form.c
+++ b/src/libnmt-newt/nmt-newt-form.c
@@ -36,7 +36,7 @@ typedef struct {
     gboolean fixed_width, fixed_height;
     char    *title_lc;
 
-    gboolean       dirty, escape_exits;
+    gboolean       dirty;
     NmtNewtWidget *focus;
 #ifdef HAVE_NEWTFORMGETSCROLLPOSITION
     int scroll_position = 0;
@@ -54,7 +54,6 @@ enum {
     PROP_WIDTH,
     PROP_HEIGHT,
     PROP_PADDING,
-    PROP_ESCAPE_EXITS,
 
     LAST_PROP
 };
@@ -211,8 +210,7 @@ nmt_newt_form_build(NmtNewtForm *form)
     } else
         priv->form = newtForm(NULL, NULL, NEWT_FLAG_NOF12);
 
-    if (priv->escape_exits)
-        newtFormAddHotKey(priv->form, NEWT_KEY_ESCAPE);
+    newtFormAddHotKey(priv->form, NEWT_KEY_ESCAPE);
 
     cos = nmt_newt_widget_get_components(priv->content);
     for (i = 0; cos[i]; i++)
@@ -504,9 +502,6 @@ nmt_newt_form_set_property(GObject *object, guint prop_id, const GValue *value,
     case PROP_PADDING:
         priv->padding = g_value_get_uint(value);
         break;
-    case PROP_ESCAPE_EXITS:
-        priv->escape_exits = g_value_get_boolean(value);
-        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
         break;
@@ -540,9 +535,6 @@ nmt_newt_form_get_property(GObject *object, guint prop_id, GValue *value, GParam
     case PROP_PADDING:
         g_value_set_uint(value, priv->padding);
         break;
-    case PROP_ESCAPE_EXITS:
-        g_value_set_boolean(value, priv->escape_exits);
-        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
         break;
@@ -722,18 +714,4 @@ nmt_newt_form_class_init(NmtNewtFormClass *form_class)
                           G_MAXUINT,
                           1,
                           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY));
-    /**
-     * NmtNewtForm:escape-exits:
-     *
-     * If %TRUE, then hitting the Escape key will cause the form to
-     * exit.
-     */
-    g_object_class_install_property(
-        object_class,
-        PROP_ESCAPE_EXITS,
-        g_param_spec_boolean("escape-exits",
-                             "",
-                             "",
-                             FALSE,
-                             G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY));
 }
diff --git a/src/libnmt-newt/nmt-newt-form.h b/src/libnmt-newt/nmt-newt-form.h
index 55fb583b..6a2ff9dc 100644
--- a/src/libnmt-newt/nmt-newt-form.h
+++ b/src/libnmt-newt/nmt-newt-form.h
@@ -9,7 +9,7 @@
 #include "nmt-newt-container.h"
 
 #define NMT_TYPE_NEWT_FORM (nmt_newt_form_get_type())
-#define NMT_NEWT_FORM(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_FORM, NmtNewtForm))
+#define NMT_NEWT_FORM(obj) (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_FORM, NmtNewtForm))
 #define NMT_NEWT_FORM_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_FORM, NmtNewtFormClass))
 #define NMT_IS_NEWT_FORM(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_FORM))
diff --git a/src/libnmt-newt/nmt-newt-grid.c b/src/libnmt-newt/nmt-newt-grid.c
index 1078723d..830c6466 100644
--- a/src/libnmt-newt/nmt-newt-grid.c
+++ b/src/libnmt-newt/nmt-newt-grid.c
@@ -109,7 +109,7 @@ nmt_newt_grid_get_components(NmtNewtWidget *widget)
     int                 i, c;
 
     g_array_sort(priv->children, child_sort_func);
-    children = (NmtNewtGridChild *) priv->children->data;
+    children = nm_g_array_first_p(priv->children, NmtNewtGridChild);
 
     cos = g_ptr_array_new();
 
@@ -132,7 +132,7 @@ nmt_newt_grid_size_request(NmtNewtWidget *widget, int *width, int *height)
 {
     NmtNewtGrid        *grid     = NMT_NEWT_GRID(widget);
     NmtNewtGridPrivate *priv     = NMT_NEWT_GRID_GET_PRIVATE(grid);
-    NmtNewtGridChild   *children = (NmtNewtGridChild *) priv->children->data;
+    NmtNewtGridChild   *children = nm_g_array_first_p(priv->children, NmtNewtGridChild);
     int                 row, col, i;
 
     g_free(priv->row_heights);
@@ -190,7 +190,7 @@ static void
 nmt_newt_grid_size_allocate(NmtNewtWidget *widget, int x, int y, int width, int height)
 {
     NmtNewtGridPrivate *priv     = NMT_NEWT_GRID_GET_PRIVATE(widget);
-    NmtNewtGridChild   *children = (NmtNewtGridChild *) priv->children->data, *child;
+    NmtNewtGridChild   *children = nm_g_array_first_p(priv->children, NmtNewtGridChild), *child;
     int                 i, row, col;
     int                 child_x, child_y, child_width, child_height;
     int                 extra, extra_all, extra_some;
@@ -268,7 +268,7 @@ static void
 nmt_newt_grid_find_size(NmtNewtGrid *grid)
 {
     NmtNewtGridPrivate *priv     = NMT_NEWT_GRID_GET_PRIVATE(grid);
-    NmtNewtGridChild   *children = (NmtNewtGridChild *) priv->children->data;
+    NmtNewtGridChild   *children = nm_g_array_first_p(priv->children, NmtNewtGridChild);
     int                 i;
 
     priv->max_x = priv->max_y = 0;
@@ -315,7 +315,7 @@ static int
 find_child(NmtNewtGrid *grid, NmtNewtWidget *widget)
 {
     NmtNewtGridPrivate *priv     = NMT_NEWT_GRID_GET_PRIVATE(grid);
-    NmtNewtGridChild   *children = (NmtNewtGridChild *) priv->children->data;
+    NmtNewtGridChild   *children = nm_g_array_first_p(priv->children, NmtNewtGridChild);
     int                 i;
 
     for (i = 0; i < priv->children->len; i++) {
@@ -355,7 +355,7 @@ void
 nmt_newt_grid_move(NmtNewtGrid *grid, NmtNewtWidget *widget, int x, int y)
 {
     NmtNewtGridPrivate *priv     = NMT_NEWT_GRID_GET_PRIVATE(grid);
-    NmtNewtGridChild   *children = (NmtNewtGridChild *) priv->children->data;
+    NmtNewtGridChild   *children = nm_g_array_first_p(priv->children, NmtNewtGridChild);
     int                 i;
 
     i = find_child(grid, widget);
@@ -411,7 +411,7 @@ void
 nmt_newt_grid_set_flags(NmtNewtGrid *grid, NmtNewtWidget *widget, NmtNewtGridFlags flags)
 {
     NmtNewtGridPrivate *priv     = NMT_NEWT_GRID_GET_PRIVATE(grid);
-    NmtNewtGridChild   *children = (NmtNewtGridChild *) priv->children->data;
+    NmtNewtGridChild   *children = nm_g_array_first_p(priv->children, NmtNewtGridChild);
     int                 i;
 
     i = find_child(grid, widget);
diff --git a/src/libnmt-newt/nmt-newt-grid.h b/src/libnmt-newt/nmt-newt-grid.h
index 7aac18bc..999788e9 100644
--- a/src/libnmt-newt/nmt-newt-grid.h
+++ b/src/libnmt-newt/nmt-newt-grid.h
@@ -9,7 +9,7 @@
 #include "nmt-newt-container.h"
 
 #define NMT_TYPE_NEWT_GRID (nmt_newt_grid_get_type())
-#define NMT_NEWT_GRID(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_GRID, NmtNewtGrid))
+#define NMT_NEWT_GRID(obj) (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_GRID, NmtNewtGrid))
 #define NMT_NEWT_GRID_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_GRID, NmtNewtGridClass))
 #define NMT_IS_NEWT_GRID(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_GRID))
diff --git a/src/libnmt-newt/nmt-newt-label.h b/src/libnmt-newt/nmt-newt-label.h
index ff2e471b..5ec50aa1 100644
--- a/src/libnmt-newt/nmt-newt-label.h
+++ b/src/libnmt-newt/nmt-newt-label.h
@@ -9,7 +9,8 @@
 #include "nmt-newt-component.h"
 
 #define NMT_TYPE_NEWT_LABEL (nmt_newt_label_get_type())
-#define NMT_NEWT_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_LABEL, NmtNewtLabel))
+#define NMT_NEWT_LABEL(obj) \
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_LABEL, NmtNewtLabel))
 #define NMT_NEWT_LABEL_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_LABEL, NmtNewtLabelClass))
 #define NMT_IS_NEWT_LABEL(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_LABEL))
diff --git a/src/libnmt-newt/nmt-newt-listbox.h b/src/libnmt-newt/nmt-newt-listbox.h
index 602e3380..c429b941 100644
--- a/src/libnmt-newt/nmt-newt-listbox.h
+++ b/src/libnmt-newt/nmt-newt-listbox.h
@@ -10,7 +10,7 @@
 
 #define NMT_TYPE_NEWT_LISTBOX (nmt_newt_listbox_get_type())
 #define NMT_NEWT_LISTBOX(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_LISTBOX, NmtNewtListbox))
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_LISTBOX, NmtNewtListbox))
 #define NMT_NEWT_LISTBOX_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_LISTBOX, NmtNewtListboxClass))
 #define NMT_IS_NEWT_LISTBOX(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_LISTBOX))
diff --git a/src/libnmt-newt/nmt-newt-popup.c b/src/libnmt-newt/nmt-newt-popup.c
index c62951ca..d0a3e74c 100644
--- a/src/libnmt-newt/nmt-newt-popup.c
+++ b/src/libnmt-newt/nmt-newt-popup.c
@@ -107,7 +107,7 @@ static newtComponent
 nmt_newt_popup_build_component(NmtNewtComponent *component, gboolean sensitive)
 {
     NmtNewtPopupPrivate *priv    = NMT_NEWT_POPUP_GET_PRIVATE(component);
-    NmtNewtPopupEntry   *entries = (NmtNewtPopupEntry *) priv->entries->data;
+    NmtNewtPopupEntry   *entries = nm_g_array_first_p(priv->entries, NmtNewtPopupEntry);
 
     nmt_newt_button_set_label(NMT_NEWT_BUTTON(component), entries[priv->active].label);
     return NMT_NEWT_COMPONENT_CLASS(nmt_newt_popup_parent_class)
@@ -118,7 +118,7 @@ static void
 nmt_newt_popup_activated(NmtNewtWidget *widget)
 {
     NmtNewtPopupPrivate *priv    = NMT_NEWT_POPUP_GET_PRIVATE(widget);
-    NmtNewtPopupEntry   *entries = (NmtNewtPopupEntry *) priv->entries->data;
+    NmtNewtPopupEntry   *entries = nm_g_array_first_p(priv->entries, NmtNewtPopupEntry);
     NmtNewtForm         *form;
     NmtNewtWidget       *listbox, *ret;
     int                  button_x, button_y;
@@ -162,8 +162,6 @@ nmt_newt_popup_activated(NmtNewtWidget *widget)
                         list_h,
                         "padding",
                         0,
-                        "escape-exits",
-                        TRUE,
                         NULL);
     nmt_newt_form_set_content(form, listbox);
 
@@ -234,7 +232,7 @@ const char *
 nmt_newt_popup_get_active_id(NmtNewtPopup *popup)
 {
     NmtNewtPopupPrivate *priv    = NMT_NEWT_POPUP_GET_PRIVATE(popup);
-    NmtNewtPopupEntry   *entries = (NmtNewtPopupEntry *) priv->entries->data;
+    NmtNewtPopupEntry   *entries = nm_g_array_first_p(priv->entries, NmtNewtPopupEntry);
 
     return entries[priv->active].id;
 }
@@ -250,7 +248,7 @@ void
 nmt_newt_popup_set_active_id(NmtNewtPopup *popup, const char *active_id)
 {
     NmtNewtPopupPrivate *priv    = NMT_NEWT_POPUP_GET_PRIVATE(popup);
-    NmtNewtPopupEntry   *entries = (NmtNewtPopupEntry *) priv->entries->data;
+    NmtNewtPopupEntry   *entries = nm_g_array_first_p(priv->entries, NmtNewtPopupEntry);
     int                  i;
 
     for (i = 0; i < priv->entries->len; i++) {
diff --git a/src/libnmt-newt/nmt-newt-popup.h b/src/libnmt-newt/nmt-newt-popup.h
index 15e247b4..6ca5e5ed 100644
--- a/src/libnmt-newt/nmt-newt-popup.h
+++ b/src/libnmt-newt/nmt-newt-popup.h
@@ -9,7 +9,8 @@
 #include "nmt-newt-button.h"
 
 #define NMT_TYPE_NEWT_POPUP (nmt_newt_popup_get_type())
-#define NMT_NEWT_POPUP(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_POPUP, NmtNewtPopup))
+#define NMT_NEWT_POPUP(obj) \
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_POPUP, NmtNewtPopup))
 #define NMT_NEWT_POPUP_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_POPUP, NmtNewtPopupClass))
 #define NMT_IS_NEWT_POPUP(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_POPUP))
diff --git a/src/libnmt-newt/nmt-newt-section.h b/src/libnmt-newt/nmt-newt-section.h
index c3b9f909..a40c043d 100644
--- a/src/libnmt-newt/nmt-newt-section.h
+++ b/src/libnmt-newt/nmt-newt-section.h
@@ -10,7 +10,7 @@
 
 #define NMT_TYPE_NEWT_SECTION (nmt_newt_section_get_type())
 #define NMT_NEWT_SECTION(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_SECTION, NmtNewtSection))
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_SECTION, NmtNewtSection))
 #define NMT_NEWT_SECTION_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_SECTION, NmtNewtSectionClass))
 #define NMT_IS_NEWT_SECTION(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_SECTION))
diff --git a/src/libnmt-newt/nmt-newt-separator.h b/src/libnmt-newt/nmt-newt-separator.h
index 0aa0fd0e..432e1495 100644
--- a/src/libnmt-newt/nmt-newt-separator.h
+++ b/src/libnmt-newt/nmt-newt-separator.h
@@ -10,7 +10,7 @@
 
 #define NMT_TYPE_NEWT_SEPARATOR (nmt_newt_separator_get_type())
 #define NMT_NEWT_SEPARATOR(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_SEPARATOR, NmtNewtSeparator))
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_SEPARATOR, NmtNewtSeparator))
 #define NMT_NEWT_SEPARATOR_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_SEPARATOR, NmtNewtSeparatorClass))
 #define NMT_IS_NEWT_SEPARATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_SEPARATOR))
diff --git a/src/libnmt-newt/nmt-newt-stack.c b/src/libnmt-newt/nmt-newt-stack.c
index bb05e51b..ef7454f5 100644
--- a/src/libnmt-newt/nmt-newt-stack.c
+++ b/src/libnmt-newt/nmt-newt-stack.c
@@ -166,8 +166,7 @@ nmt_newt_stack_child_validity_changed(NmtNewtContainer *container, NmtNewtWidget
         return;
 
     if (priv->children->pdata[priv->active] == (gpointer) widget) {
-        NMT_NEWT_CONTAINER_CLASS(nmt_newt_stack_parent_class)
-            ->child_validity_changed(container, widget);
+        nmt_newt_widget_set_valid(NMT_NEWT_WIDGET(container), nmt_newt_widget_get_valid(widget));
     }
 }
 
@@ -190,6 +189,7 @@ nmt_newt_stack_set_active(NmtNewtStack *stack, guint active)
     g_object_notify(G_OBJECT(stack), "active");
     g_object_notify(G_OBJECT(stack), "active-id");
     nmt_newt_widget_needs_rebuild(NMT_NEWT_WIDGET(stack));
+    nmt_newt_stack_child_validity_changed(NMT_NEWT_CONTAINER(stack), priv->children->pdata[active]);
 }
 
 /**
@@ -230,6 +230,8 @@ nmt_newt_stack_set_active_id(NmtNewtStack *stack, const char *id)
             g_object_notify(G_OBJECT(stack), "active");
             g_object_notify(G_OBJECT(stack), "active-id");
             nmt_newt_widget_needs_rebuild(NMT_NEWT_WIDGET(stack));
+            nmt_newt_stack_child_validity_changed(NMT_NEWT_CONTAINER(stack),
+                                                  priv->children->pdata[i]);
             return;
         }
     }
diff --git a/src/libnmt-newt/nmt-newt-stack.h b/src/libnmt-newt/nmt-newt-stack.h
index ca6ad203..ec13a2b5 100644
--- a/src/libnmt-newt/nmt-newt-stack.h
+++ b/src/libnmt-newt/nmt-newt-stack.h
@@ -9,7 +9,8 @@
 #include "nmt-newt-container.h"
 
 #define NMT_TYPE_NEWT_STACK (nmt_newt_stack_get_type())
-#define NMT_NEWT_STACK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_STACK, NmtNewtStack))
+#define NMT_NEWT_STACK(obj) \
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_STACK, NmtNewtStack))
 #define NMT_NEWT_STACK_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_STACK, NmtNewtStackClass))
 #define NMT_IS_NEWT_STACK(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_STACK))
diff --git a/src/libnmt-newt/nmt-newt-textbox.h b/src/libnmt-newt/nmt-newt-textbox.h
index f589d62c..9d35fd9d 100644
--- a/src/libnmt-newt/nmt-newt-textbox.h
+++ b/src/libnmt-newt/nmt-newt-textbox.h
@@ -10,7 +10,7 @@
 
 #define NMT_TYPE_NEWT_TEXTBOX (nmt_newt_textbox_get_type())
 #define NMT_NEWT_TEXTBOX(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_TEXTBOX, NmtNewtTextbox))
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_TEXTBOX, NmtNewtTextbox))
 #define NMT_NEWT_TEXTBOX_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_TEXTBOX, NmtNewtTextboxClass))
 #define NMT_IS_NEWT_TEXTBOX(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_TEXTBOX))
diff --git a/src/libnmt-newt/nmt-newt-toggle-button.h b/src/libnmt-newt/nmt-newt-toggle-button.h
index bdaa445d..0eb1307e 100644
--- a/src/libnmt-newt/nmt-newt-toggle-button.h
+++ b/src/libnmt-newt/nmt-newt-toggle-button.h
@@ -10,7 +10,7 @@
 
 #define NMT_TYPE_NEWT_TOGGLE_BUTTON (nmt_newt_toggle_button_get_type())
 #define NMT_NEWT_TOGGLE_BUTTON(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_TOGGLE_BUTTON, NmtNewtToggleButton))
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_TOGGLE_BUTTON, NmtNewtToggleButton))
 #define NMT_NEWT_TOGGLE_BUTTON_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_TOGGLE_BUTTON, NmtNewtToggleButtonClass))
 #define NMT_IS_NEWT_TOGGLE_BUTTON(obj) \
diff --git a/src/libnmt-newt/nmt-newt-widget.h b/src/libnmt-newt/nmt-newt-widget.h
index 70b62d29..4c669fca 100644
--- a/src/libnmt-newt/nmt-newt-widget.h
+++ b/src/libnmt-newt/nmt-newt-widget.h
@@ -10,7 +10,7 @@
 
 #define NMT_TYPE_NEWT_WIDGET (nmt_newt_widget_get_type())
 #define NMT_NEWT_WIDGET(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_WIDGET, NmtNewtWidget))
+    (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_WIDGET, NmtNewtWidget))
 #define NMT_NEWT_WIDGET_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_WIDGET, NmtNewtWidgetClass))
 #define NMT_IS_NEWT_WIDGET(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_WIDGET))