--- a/gntwindow.c Sat Apr 06 06:05:21 2019 -0400
+++ b/gntwindow.c Sat Apr 06 06:13:55 2019 -0400
@@ -30,6 +30,7 @@
GHashTable *accels; /* key => menuitem-id */
@@ -49,8 +50,10 @@
show_menu(GntBindable *bind, G_GNUC_UNUSED GList *params)
GntWindow *win = GNT_WINDOW(bind);
- GntMenu *menu = win->menu;
+ GntWindowPrivate *priv = gnt_window_get_instance_private(win); + GntMenu *menu = priv->menu; gnt_screen_menu_show(menu);
if (menu->type == GNT_MENU_TOPLEVEL) {
@@ -71,8 +74,8 @@
GntWindow *window = GNT_WINDOW(widget);
GntWindowPrivate *priv = gnt_window_get_instance_private(window);
- gnt_widget_destroy(GNT_WIDGET(window->menu));
+ gnt_widget_destroy(GNT_WIDGET(priv->menu)); g_clear_pointer(&priv->accels, g_hash_table_destroy);
@@ -150,8 +153,9 @@
gnt_window_workspace_hiding(GntWindow *window)
- gnt_widget_hide(GNT_WIDGET(window->menu));
+ GntWindowPrivate *priv = gnt_window_get_instance_private(window); + gnt_widget_hide(GNT_WIDGET(priv->menu)); g_signal_emit(window, signals[SIG_WORKSPACE_HIDE], 0);
@@ -163,14 +167,13 @@
void gnt_window_set_menu(GntWindow *window, GntMenu *menu)
+ GntWindowPrivate *priv = gnt_window_get_instance_private(window); /* If a menu already existed, then destroy that first. */
const char *name = gnt_widget_get_name(GNT_WIDGET(window));
- gnt_widget_destroy(GNT_WIDGET(window->menu));
+ gnt_widget_destroy(GNT_WIDGET(priv->menu)); - 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);
@@ -180,9 +183,11 @@
gnt_window_get_menu(GntWindow *window)
+ GntWindowPrivate *priv = gnt_window_get_instance_private(window); g_return_val_if_fail(GNT_IS_WINDOW(window), NULL);
const char * gnt_window_get_accel_item(GntWindow *window, const char *key)
--- a/gntwindow.h Sat Apr 06 06:05:21 2019 -0400
+++ b/gntwindow.h Sat Apr 06 06:13:55 2019 -0400
@@ -36,14 +36,6 @@
#define GNT_TYPE_WINDOW (gnt_window_get_type())
-#define GNT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_WINDOW, GntWindow))
-#define GNT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GNT_TYPE_WINDOW, GntWindowClass))
-#define GNT_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GNT_TYPE_WINDOW))
-#define GNT_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_WINDOW))
-#define GNT_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_WINDOW, GntWindowClass))
-typedef struct _GntWindow GntWindow;
-typedef struct _GntWindowClass GntWindowClass;
@@ -51,12 +43,6 @@
GNT_WINDOW_MAXIMIZE_Y = 1 << 1,
@@ -75,7 +61,7 @@
* Returns: GType for GntWindow.
-GType gnt_window_get_type(void);
+G_DECLARE_DERIVABLE_TYPE(GntWindow, gnt_window, GNT, WINDOW, GntBox) #define gnt_vwindow_new(homo) gnt_window_box_new(homo, TRUE)
#define gnt_hwindow_new(homo) gnt_window_box_new(homo, FALSE)