SF.net SVN: geany:[3977] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Thu Jul 16 15:19:58 UTC 2009


Revision: 3977
          http://geany.svn.sourceforge.net/geany/?rev=3977&view=rev
Author:   ntrel
Date:     2009-07-16 15:19:57 +0000 (Thu, 16 Jul 2009)

Log Message:
-----------
Fix GTK warning when right-clicking on default tag tree.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/treeviews.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2009-07-16 15:04:21 UTC (rev 3976)
+++ trunk/ChangeLog	2009-07-16 15:19:57 UTC (rev 3977)
@@ -11,6 +11,8 @@
    Add "load_settings" core-only signal emitted just after loading
    main keyfile settings; useful to delay building UI elements until
    settings have been read.
+ * src/treeviews.c:
+   Fix GTK warning when right-clicking on default tag tree.
 
 
 2009-07-15  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>

Modified: trunk/src/treeviews.c
===================================================================
--- trunk/src/treeviews.c	2009-07-16 15:04:21 UTC (rev 3976)
+++ trunk/src/treeviews.c	2009-07-16 15:19:57 UTC (rev 3977)
@@ -156,12 +156,33 @@
 {
 	if (event->button == 3)
 	{
-		on_symbols_button_press_event(widget, event, NULL);
+		gtk_menu_popup(GTK_MENU(tv.popup_taglist), NULL, NULL, NULL, NULL,
+			event->button, event->time);
+		return TRUE;
 	}
 	return FALSE;
 }
 
 
+static void create_default_tag_tree(void)
+{
+	GtkScrolledWindow *scrolled_window = GTK_SCROLLED_WINDOW(tag_window);
+	GtkWidget *label;
+
+	/* default_tag_tree is a GtkViewPort with a GtkLabel inside it */
+	tv.default_tag_tree = gtk_viewport_new(
+		gtk_scrolled_window_get_hadjustment(scrolled_window),
+		gtk_scrolled_window_get_vadjustment(scrolled_window));
+	label = gtk_label_new(_("No tags found"));
+	gtk_misc_set_alignment(GTK_MISC(label), 0.1, 0.01);
+	gtk_container_add(GTK_CONTAINER(tv.default_tag_tree), label);
+	gtk_widget_show_all(tv.default_tag_tree);
+	g_signal_connect(tv.default_tag_tree, "button-press-event",
+		G_CALLBACK(on_default_tag_tree_button_press_event), NULL);
+	g_object_ref((gpointer)tv.default_tag_tree);	/* to hold it after removing */
+}
+
+
 /* update = rescan the tags for doc->filename */
 void treeviews_update_tag_list(GeanyDocument *doc, gboolean update)
 {
@@ -169,23 +190,8 @@
 		gtk_container_remove(GTK_CONTAINER(tag_window), gtk_bin_get_child(GTK_BIN(tag_window)));
 
 	if (tv.default_tag_tree == NULL)
-	{
-		GtkScrolledWindow *scrolled_window = GTK_SCROLLED_WINDOW(tag_window);
-		GtkWidget *label;
+		create_default_tag_tree();
 
-		/* default_tag_tree is a GtkViewPort with a GtkLabel inside it */
-		tv.default_tag_tree = gtk_viewport_new(
-			gtk_scrolled_window_get_hadjustment(scrolled_window),
-			gtk_scrolled_window_get_vadjustment(scrolled_window));
-		label = gtk_label_new(_("No tags found"));
-		gtk_misc_set_alignment(GTK_MISC(label), 0.1, 0.01);
-		gtk_container_add(GTK_CONTAINER(tv.default_tag_tree), label);
-		gtk_widget_show_all(tv.default_tag_tree);
-		g_signal_connect(tv.default_tag_tree, "button-press-event",
-			G_CALLBACK(on_default_tag_tree_button_press_event), NULL);
-		g_object_ref((gpointer)tv.default_tag_tree);	/* to hold it after removing */
-	}
-
 	/* show default empty tag tree if there are no tags */
 	if (doc == NULL || doc->file_type == NULL || ! filetype_has_tags(doc->file_type))
 	{


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list