summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--UIManager.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/UIManager.cpp b/UIManager.cpp
index e78898b..d6216fd 100644
--- a/UIManager.cpp
+++ b/UIManager.cpp
@@ -21,6 +21,7 @@ const gchar* const UIManager::uiData = (const gchar*)
"</toolbar>"
"</ui>";
+
void UIManager::handleAction(GtkAction *action, UIManager *uiManager) {
//const gchar* name = gtk_action_get_name(action);
@@ -36,33 +37,42 @@ GtkActionGroup* UIManager::createActions() {
action = gtk_action_new("fileMenu", "_File", NULL, NULL);
gtk_action_group_add_action(actionGroup, action);
+ g_object_unref(G_OBJECT(action));
action = gtk_action_new("toolbar1", "Toolbar", NULL, NULL);
gtk_action_group_add_action(actionGroup, action);
+ g_object_unref(G_OBJECT(action));
action = gtk_action_new("new", "_New", NULL, GTK_STOCK_NEW);
gtk_action_group_add_action_with_accel(actionGroup, action, NULL);
+ g_object_unref(G_OBJECT(action));
action = gtk_action_new("open", "_Open", NULL, GTK_STOCK_OPEN);
gtk_action_group_add_action_with_accel(actionGroup, action, NULL);
+ g_object_unref(G_OBJECT(action));
action = gtk_action_new("save", "_Save", NULL, GTK_STOCK_SAVE);
gtk_action_group_add_action_with_accel(actionGroup, action, NULL);
+ g_object_unref(G_OBJECT(action));
action = gtk_action_new("saveAs", "Save _As", NULL, NULL);
gtk_action_group_add_action(actionGroup, action);
+ g_object_unref(G_OBJECT(action));
action = gtk_action_new("zoomIn", "Zoom _in", NULL, GTK_STOCK_ZOOM_IN);
g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(handleAction), this);
gtk_action_group_add_action_with_accel(actionGroup, action, NULL);
+ g_object_unref(G_OBJECT(action));
action = gtk_action_new("zoomOut", "Zoom _out", NULL, GTK_STOCK_ZOOM_OUT);
g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(handleAction), this);
gtk_action_group_add_action_with_accel(actionGroup, action, NULL);
+ g_object_unref(G_OBJECT(action));
action = gtk_action_new("quit", "_Quit", NULL, GTK_STOCK_QUIT);
g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(gtk_main_quit), NULL);
gtk_action_group_add_action_with_accel(actionGroup, action, NULL);
+ g_object_unref(G_OBJECT(action));
return actionGroup;
}
@@ -72,7 +82,9 @@ UIManager::UIManager() {
gtk_ui_manager_add_ui_from_string(uiManager, uiData, -1, NULL);
- gtk_ui_manager_insert_action_group(uiManager, createActions(), 0);
+ GtkActionGroup *actions = createActions();
+ gtk_ui_manager_insert_action_group(uiManager, actions, 0);
+ g_object_unref(G_OBJECT(actions));
gtk_ui_manager_ensure_update(uiManager);
}