--- a/gntwindow.c Sat Apr 06 04:42:44 2019 -0400
+++ b/gntwindow.c Sat Apr 06 04:58:59 2019 -0400
@@ -26,11 +26,11 @@
GHashTable *accels; /* key => menuitem-id */
@@ -43,7 +43,7 @@
static void (*org_destroy)(GntWidget *widget);
-G_DEFINE_TYPE(GntWindow, gnt_window, GNT_TYPE_BOX)
+G_DEFINE_TYPE_WITH_PRIVATE(GntWindow, gnt_window, GNT_TYPE_BOX) show_menu(GntBindable *bind, G_GNUC_UNUSED GList *params)
@@ -69,13 +69,12 @@
gnt_window_destroy(GntWidget *widget)
GntWindow *window = GNT_WINDOW(widget);
+ GntWindowPrivate *priv = gnt_window_get_instance_private(window); gnt_widget_destroy(GNT_WIDGET(window->menu));
- if (window->priv->accels)
- g_hash_table_destroy(window->priv->accels);
+ g_clear_pointer(&priv->accels, g_hash_table_destroy); @@ -116,14 +115,14 @@
gnt_window_init(GntWindow *win)
GntWidget *widget = GNT_WIDGET(win);
+ GntWindowPrivate *priv = gnt_window_get_instance_private(win); gnt_widget_set_has_border(widget, TRUE);
gnt_widget_set_has_shadow(widget, TRUE);
gnt_widget_set_take_focus(widget, TRUE);
- win->priv = g_new0(GntWindowPriv, 1);
- win->priv->accels = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
+ g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); /******************************************************************************
@@ -169,36 +168,40 @@
gnt_widget_destroy(GNT_WIDGET(window->menu));
- if (name && window->priv) {
- if (!gnt_style_read_menu_accels(name, window->priv->accels)) {
- g_hash_table_destroy(window->priv->accels);
- window->priv->accels = NULL;
+ GntWindowPrivate *priv = + gnt_window_get_instance_private(window); + if (!gnt_style_read_menu_accels(name, priv->accels)) { + g_clear_pointer(&priv->accels, g_hash_table_destroy); const char * gnt_window_get_accel_item(GntWindow *window, const char *key)
- if (window->priv->accels)
- return g_hash_table_lookup(window->priv->accels, key);
+ GntWindowPrivate *priv = gnt_window_get_instance_private(window); + return g_hash_table_lookup(priv->accels, key); void gnt_window_set_maximize(GntWindow *window, GntWindowFlags maximize)
+ GntWindowPrivate *priv = gnt_window_get_instance_private(window); if (maximize & GNT_WINDOW_MAXIMIZE_X)
- window->priv->flags |= GNT_WINDOW_MAXIMIZE_X;
+ priv->flags |= GNT_WINDOW_MAXIMIZE_X; - window->priv->flags &= ~GNT_WINDOW_MAXIMIZE_X;
+ priv->flags &= ~GNT_WINDOW_MAXIMIZE_X; if (maximize & GNT_WINDOW_MAXIMIZE_Y)
- window->priv->flags |= GNT_WINDOW_MAXIMIZE_Y;
+ priv->flags |= GNT_WINDOW_MAXIMIZE_Y; - window->priv->flags &= ~GNT_WINDOW_MAXIMIZE_Y;
+ priv->flags &= ~GNT_WINDOW_MAXIMIZE_Y; GntWindowFlags gnt_window_get_maximize(GntWindow *window)
- return (window->priv->flags & (GNT_WINDOW_MAXIMIZE_X | GNT_WINDOW_MAXIMIZE_Y));
+ GntWindowPrivate *priv = gnt_window_get_instance_private(window); + return (priv->flags & (GNT_WINDOW_MAXIMIZE_X | GNT_WINDOW_MAXIMIZE_Y)); --- a/gntwindow.h Sat Apr 06 04:42:44 2019 -0400
+++ b/gntwindow.h Sat Apr 06 04:58:59 2019 -0400
@@ -43,7 +43,6 @@
#define GNT_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_WINDOW, GntWindowClass))
typedef struct _GntWindow GntWindow;
-typedef struct _GntWindowPriv GntWindowPriv;
typedef struct _GntWindowClass GntWindowClass;
@@ -56,7 +55,6 @@