SF.net SVN: geany: [460] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Sun Jun 18 17:14:39 UTC 2006


Revision: 460
Author:   eht16
Date:     2006-06-18 10:14:32 -0700 (Sun, 18 Jun 2006)
ViewCVS:  http://svn.sourceforge.net/geany/?rev=460&view=rev

Log Message:
-----------
Fixed a segfault when pressing shortcut for "Find Usage" and there is no open file. Removed unneeded label padding.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/dialogs.c
    trunk/src/keybindings.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-06-18 17:05:09 UTC (rev 459)
+++ trunk/ChangeLog	2006-06-18 17:14:32 UTC (rev 460)
@@ -1,3 +1,10 @@
+2006-06-18  Enrico Troeger  <enrico.troeger at uvena.de>
+
+ * src/keybindings.c: Fixed a segfault when pressing shortcut for
+                      "Find Usage" and there is no open file.
+ * src/dialogs.c: Removed unneeded label padding.
+
+
 2006-06-18  Nick Treleaven  <nick.treleaven at btinternet.com>
 
  * src/dialogs.c: Make Keyboard shortcuts dialog scrollable.

Modified: trunk/src/dialogs.c
===================================================================
--- trunk/src/dialogs.c	2006-06-18 17:05:09 UTC (rev 459)
+++ trunk/src/dialogs.c	2006-06-18 17:14:32 UTC (rev 460)
@@ -1860,10 +1860,8 @@
 	hbox = gtk_hbox_new(FALSE, 6);
 
 	label1 = gtk_label_new(NULL);
-	gtk_misc_set_padding(GTK_MISC(label1), 15, 0);
 
 	label2 = gtk_label_new(NULL);
-	gtk_misc_set_padding(GTK_MISC(label2), 15, 0);
 
 	for (i = 0; i < GEANY_MAX_KEYS; i++)
 	{

Modified: trunk/src/keybindings.c
===================================================================
--- trunk/src/keybindings.c	2006-06-18 17:05:09 UTC (rev 459)
+++ trunk/src/keybindings.c	2006-06-18 17:14:32 UTC (rev 460)
@@ -88,8 +88,8 @@
 static void cb_func_popup_gototagdefinition(void);
 static void cb_func_popup_gototagdeclaration(void);
 
-void keybindings_call_popup_item(int menuitemkey);
-void keybindings_add_accels();
+static void keybindings_call_popup_item(int menuitemkey);
+static void keybindings_add_accels();
 
 
 void keybindings_init(void)
@@ -102,47 +102,88 @@
 	GKeyFile *config = g_key_file_new();
 
 	// init all fields of keys with default values
-	keys[GEANY_KEYS_MENU_NEW] = fill(cb_func_menu_new, GDK_n, GDK_CONTROL_MASK, "menu_new", _("New"));
-	keys[GEANY_KEYS_MENU_OPEN] = fill(cb_func_menu_open, GDK_o, GDK_CONTROL_MASK, "menu_open", _("Open"));
-	keys[GEANY_KEYS_MENU_SAVE] = fill(cb_func_menu_save, GDK_s, GDK_CONTROL_MASK, "menu_save", _("Save"));
-	keys[GEANY_KEYS_MENU_SAVEALL] = fill(cb_func_menu_saveall, GDK_S, GDK_SHIFT_MASK | GDK_CONTROL_MASK, "menu_saveall", _("Save all"));
-	keys[GEANY_KEYS_MENU_CLOSEALL] = fill(cb_func_menu_closeall, GDK_d, GDK_MOD1_MASK, "menu_closeall", _("Close all"));
-	keys[GEANY_KEYS_MENU_RELOADFILE] = fill(cb_func_menu_reloadfile, GDK_r, GDK_CONTROL_MASK, "menu_reloadfile", _("Reload file"));
-	keys[GEANY_KEYS_MENU_UNDO] = fill(cb_func_menu_undo, GDK_z, GDK_CONTROL_MASK, "menu_undo", _("Undo"));
-	keys[GEANY_KEYS_MENU_REDO] = fill(cb_func_menu_redo, GDK_y, GDK_CONTROL_MASK, "menu_redo", _("Redo"));
-	keys[GEANY_KEYS_MENU_PREFERENCES] = fill(cb_func_menu_preferences, GDK_p, GDK_CONTROL_MASK, "menu_preferences", _("Preferences"));
-	keys[GEANY_KEYS_MENU_FIND_NEXT] = fill(cb_func_menu_findnext, GDK_F3, 0, "menu_findnext", _("Find Next"));
-	keys[GEANY_KEYS_MENU_FINDPREVIOUS] = fill(cb_func_menu_findprevious, GDK_F3, GDK_SHIFT_MASK, "menu_findprevious", _("Find Previous"));
-	keys[GEANY_KEYS_MENU_REPLACE] = fill(cb_func_menu_replace, GDK_e, GDK_CONTROL_MASK, "menu_replace", _("Replace"));
-	keys[GEANY_KEYS_MENU_GOTOLINE] = fill(cb_func_menu_gotoline, GDK_l, GDK_CONTROL_MASK, "menu_gotoline", _("Go to line"));
-	keys[GEANY_KEYS_MENU_OPENCOLORCHOOSER] = fill(cb_func_menu_opencolorchooser, 0, 0, "menu_opencolorchooser", _("Show Colour Chooser"));
-	keys[GEANY_KEYS_MENU_FULLSCREEN] = fill(cb_func_menu_fullscreen, GDK_F11, 0, "menu_fullscreen", _("Fullscreen"));
-	keys[GEANY_KEYS_MENU_MESSAGEWINDOW] = fill(cb_func_menu_messagewindow, 0, 0, "menu_messagewindow", _("Toggle Messages Window"));
-	keys[GEANY_KEYS_MENU_SIDEBAR] = fill(cb_func_toggle_sidebar, 0, 0, "toggle_sidebar", _("Toggle Sidebar"));
-	keys[GEANY_KEYS_MENU_ZOOMIN] = fill(cb_func_menu_zoomin, GDK_plus, GDK_CONTROL_MASK, "menu_zoomin", _("Zoom In"));
-	keys[GEANY_KEYS_MENU_ZOOMOUT] = fill(cb_func_menu_zoomout, GDK_minus, GDK_CONTROL_MASK, "menu_zoomout", _("Zoom Out"));
-	keys[GEANY_KEYS_MENU_REPLACETABS] = fill(cb_func_menu_replacetabs, 0, 0, "menu_replacetabs", _("Replace tabs by space"));
-	keys[GEANY_KEYS_MENU_FOLDALL] = fill(cb_func_menu_foldall, 0, 0, "menu_foldall", _("Fold all"));
-	keys[GEANY_KEYS_MENU_UNFOLDALL] = fill(cb_func_menu_unfoldall, 0, 0, "menu_unfoldall", _("Unfold all"));
-	keys[GEANY_KEYS_BUILD_COMPILE] = fill(cb_func_build_compile, GDK_F8, 0, "build_compile", _("Compile"));
-	keys[GEANY_KEYS_BUILD_LINK] = fill(cb_func_build_link, GDK_F9, 0, "build_link", _("Build"));
-	keys[GEANY_KEYS_BUILD_MAKE] = fill(cb_func_build_make, GDK_F9, GDK_SHIFT_MASK, "build_make", _("Build with \"make\""));
-	keys[GEANY_KEYS_BUILD_MAKEOWNTARGET] = fill(cb_func_build_makeowntarget, GDK_F9, GDK_SHIFT_MASK | GDK_CONTROL_MASK, "build_makeowntarget", _("Build with \"make\" (custom target)"));
-	keys[GEANY_KEYS_BUILD_RUN] = fill(cb_func_build_run, GDK_F5, 0, "build_run", _("Run"));
-	keys[GEANY_KEYS_BUILD_RUN2] = fill(cb_func_build_run2, 0, 0, "build_run2", _("Run (alternative command)"));
-	keys[GEANY_KEYS_BUILD_OPTIONS] = fill(cb_func_build_options, 0, 0, "build_options", _("Build options"));
-	keys[GEANY_KEYS_RELOADTAGLIST] = fill(cb_func_reloadtaglist, GDK_r, GDK_SHIFT_MASK | GDK_CONTROL_MASK, "reloadtaglist", _("Reload symbol list"));
-	keys[GEANY_KEYS_SWITCH_EDITOR] = fill(cb_func_switch_editor, GDK_F2, 0, "switch_editor", _("Switch to Editor"));
-	keys[GEANY_KEYS_SWITCH_SCRIBBLE] = fill(cb_func_switch_scribble, GDK_F6, 0, "switch_scribble", _("Switch to Scribble"));
-	keys[GEANY_KEYS_SWITCH_VTE] = fill(cb_func_switch_vte, GDK_F4, 0, "switch_vte", _("Switch to VTE"));
-	keys[GEANY_KEYS_SWITCH_TABLEFT] = fill(cb_func_switch_tableft, GDK_Page_Up, GDK_CONTROL_MASK, "switch_tableft", _("Switch to left document"));
-	keys[GEANY_KEYS_SWITCH_TABRIGHT] = fill(cb_func_switch_tabright, GDK_Page_Down, GDK_CONTROL_MASK, "switch_tabright", _("Switch to right document"));
-	keys[GEANY_KEYS_EDIT_DUPLICATELINE] = fill(cb_func_edit_duplicateline, GDK_g, GDK_CONTROL_MASK, "edit_duplicateline", _("Duplicate line or selection"));
-	keys[GEANY_KEYS_EDIT_COMMENTLINE] = fill(cb_func_edit_commentline, GDK_d, GDK_CONTROL_MASK, "edit_commentline", _("Comment line"));
-	keys[GEANY_KEYS_EDIT_AUTOCOMPLETE] = fill(cb_func_edit_autocomplete, GDK_space, GDK_CONTROL_MASK, "edit_autocomplete", _("Complete word"));
-	keys[GEANY_KEYS_EDIT_CALLTIP] = fill(cb_func_edit_calltip, GDK_space, GDK_MOD1_MASK, "edit_calltip", _("Show calltip"));
-	keys[GEANY_KEYS_EDIT_MACROLIST] = fill(cb_func_edit_macrolist, GDK_Return, GDK_CONTROL_MASK, "edit_macrolist", _("Show macro list"));
-	keys[GEANY_KEYS_EDIT_SUPPRESSCOMPLETION] = fill(cb_func_edit_suppresscompletion, GDK_space, GDK_SHIFT_MASK, "edit_suppresscompletion", _("Suppress auto completion"));
+	keys[GEANY_KEYS_MENU_NEW] = fill(cb_func_menu_new,
+		GDK_n, GDK_CONTROL_MASK, "menu_new", _("New"));
+	keys[GEANY_KEYS_MENU_OPEN] = fill(cb_func_menu_open,
+		GDK_o, GDK_CONTROL_MASK, "menu_open", _("Open"));
+	keys[GEANY_KEYS_MENU_SAVE] = fill(cb_func_menu_save,
+		GDK_s, GDK_CONTROL_MASK, "menu_save", _("Save"));
+	keys[GEANY_KEYS_MENU_SAVEALL] = fill(cb_func_menu_saveall,
+		GDK_S, GDK_SHIFT_MASK | GDK_CONTROL_MASK, "menu_saveall", _("Save all"));
+	keys[GEANY_KEYS_MENU_CLOSEALL] = fill(cb_func_menu_closeall,
+		GDK_d, GDK_MOD1_MASK, "menu_closeall", _("Close all"));
+	keys[GEANY_KEYS_MENU_RELOADFILE] = fill(cb_func_menu_reloadfile,
+		GDK_r, GDK_CONTROL_MASK, "menu_reloadfile", _("Reload file"));
+	keys[GEANY_KEYS_MENU_UNDO] = fill(cb_func_menu_undo,
+		GDK_z, GDK_CONTROL_MASK, "menu_undo", _("Undo"));
+	keys[GEANY_KEYS_MENU_REDO] = fill(cb_func_menu_redo,
+		GDK_y, GDK_CONTROL_MASK, "menu_redo", _("Redo"));
+	keys[GEANY_KEYS_MENU_PREFERENCES] = fill(cb_func_menu_preferences,
+		GDK_p, GDK_CONTROL_MASK, "menu_preferences", _("Preferences"));
+	keys[GEANY_KEYS_MENU_FIND_NEXT] = fill(cb_func_menu_findnext,
+		GDK_F3, 0, "menu_findnext", _("Find Next"));
+	keys[GEANY_KEYS_MENU_FINDPREVIOUS] = fill(cb_func_menu_findprevious,
+		GDK_F3, GDK_SHIFT_MASK, "menu_findprevious", _("Find Previous"));
+	keys[GEANY_KEYS_MENU_REPLACE] = fill(cb_func_menu_replace,
+		GDK_e, GDK_CONTROL_MASK, "menu_replace", _("Replace"));
+	keys[GEANY_KEYS_MENU_GOTOLINE] = fill(cb_func_menu_gotoline,
+		GDK_l, GDK_CONTROL_MASK, "menu_gotoline", _("Go to line"));
+	keys[GEANY_KEYS_MENU_OPENCOLORCHOOSER] = fill(cb_func_menu_opencolorchooser,
+		0, 0, "menu_opencolorchooser", _("Show Colour Chooser"));
+	keys[GEANY_KEYS_MENU_FULLSCREEN] = fill(cb_func_menu_fullscreen,
+		GDK_F11, 0, "menu_fullscreen", _("Fullscreen"));
+	keys[GEANY_KEYS_MENU_MESSAGEWINDOW] = fill(cb_func_menu_messagewindow,
+		0, 0, "menu_messagewindow", _("Toggle Messages Window"));
+	keys[GEANY_KEYS_MENU_SIDEBAR] = fill(cb_func_toggle_sidebar,
+		0, 0, "toggle_sidebar", _("Toggle Sidebar"));
+	keys[GEANY_KEYS_MENU_ZOOMIN] = fill(cb_func_menu_zoomin,
+		GDK_plus, GDK_CONTROL_MASK, "menu_zoomin", _("Zoom In"));
+	keys[GEANY_KEYS_MENU_ZOOMOUT] = fill(cb_func_menu_zoomout,
+		GDK_minus, GDK_CONTROL_MASK, "menu_zoomout", _("Zoom Out"));
+	keys[GEANY_KEYS_MENU_REPLACETABS] = fill(cb_func_menu_replacetabs,
+		0, 0, "menu_replacetabs", _("Replace tabs by space"));
+	keys[GEANY_KEYS_MENU_FOLDALL] = fill(cb_func_menu_foldall,
+		0, 0, "menu_foldall", _("Fold all"));
+	keys[GEANY_KEYS_MENU_UNFOLDALL] = fill(cb_func_menu_unfoldall,
+		0, 0, "menu_unfoldall", _("Unfold all"));
+	keys[GEANY_KEYS_BUILD_COMPILE] = fill(cb_func_build_compile,
+		GDK_F8, 0, "build_compile", _("Compile"));
+	keys[GEANY_KEYS_BUILD_LINK] = fill(cb_func_build_link,
+		GDK_F9, 0, "build_link", _("Build"));
+	keys[GEANY_KEYS_BUILD_MAKE] = fill(cb_func_build_make,
+		GDK_F9, GDK_SHIFT_MASK, "build_make", _("Build with \"make\""));
+	keys[GEANY_KEYS_BUILD_MAKEOWNTARGET] = fill(cb_func_build_makeowntarget,
+		GDK_F9, GDK_SHIFT_MASK | GDK_CONTROL_MASK, "build_makeowntarget", _("Build with \"make\" (custom target)"));
+	keys[GEANY_KEYS_BUILD_RUN] = fill(cb_func_build_run,
+		GDK_F5, 0, "build_run", _("Run"));
+	keys[GEANY_KEYS_BUILD_RUN2] = fill(cb_func_build_run2,
+		0, 0, "build_run2", _("Run (alternative command)"));
+	keys[GEANY_KEYS_BUILD_OPTIONS] = fill(cb_func_build_options,
+		0, 0, "build_options", _("Build options"));
+	keys[GEANY_KEYS_RELOADTAGLIST] = fill(cb_func_reloadtaglist,
+		GDK_r, GDK_SHIFT_MASK | GDK_CONTROL_MASK, "reloadtaglist", _("Reload symbol list"));
+	keys[GEANY_KEYS_SWITCH_EDITOR] = fill(cb_func_switch_editor,
+		GDK_F2, 0, "switch_editor", _("Switch to Editor"));
+	keys[GEANY_KEYS_SWITCH_SCRIBBLE] = fill(cb_func_switch_scribble,
+		GDK_F6, 0, "switch_scribble", _("Switch to Scribble"));
+	keys[GEANY_KEYS_SWITCH_VTE] = fill(cb_func_switch_vte,
+		GDK_F4, 0, "switch_vte", _("Switch to VTE"));
+	keys[GEANY_KEYS_SWITCH_TABLEFT] = fill(cb_func_switch_tableft,
+		GDK_Page_Up, GDK_CONTROL_MASK, "switch_tableft", _("Switch to left document"));
+	keys[GEANY_KEYS_SWITCH_TABRIGHT] = fill(cb_func_switch_tabright,
+		GDK_Page_Down, GDK_CONTROL_MASK, "switch_tabright", _("Switch to right document"));
+	keys[GEANY_KEYS_EDIT_DUPLICATELINE] = fill(cb_func_edit_duplicateline,
+		GDK_g, GDK_CONTROL_MASK, "edit_duplicateline", _("Duplicate line or selection"));
+	keys[GEANY_KEYS_EDIT_COMMENTLINE] = fill(cb_func_edit_commentline,
+		GDK_d, GDK_CONTROL_MASK, "edit_commentline", _("Comment line"));
+	keys[GEANY_KEYS_EDIT_AUTOCOMPLETE] = fill(cb_func_edit_autocomplete,
+		GDK_space, GDK_CONTROL_MASK, "edit_autocomplete", _("Complete word"));
+	keys[GEANY_KEYS_EDIT_CALLTIP] = fill(cb_func_edit_calltip,
+		GDK_space, GDK_MOD1_MASK, "edit_calltip", _("Show calltip"));
+	keys[GEANY_KEYS_EDIT_MACROLIST] = fill(cb_func_edit_macrolist,
+		GDK_Return, GDK_CONTROL_MASK, "edit_macrolist", _("Show macro list"));
+	keys[GEANY_KEYS_EDIT_SUPPRESSCOMPLETION] = fill(cb_func_edit_suppresscompletion,
+		GDK_space, GDK_SHIFT_MASK, "edit_suppresscompletion", _("Suppress auto completion"));
 	keys[GEANY_KEYS_POPUP_FINDUSAGE] = fill(cb_func_popup_findusage,
 		0, 0, "popup_findusage", _("Find Usage"));
 	keys[GEANY_KEYS_POPUP_GOTOTAGDEFINITION] = fill(cb_func_popup_gototagdefinition,
@@ -187,7 +228,7 @@
 			"activate", accel_group, keys[(gkey)]->key, keys[(gkey)]->mods, \
 			GTK_ACCEL_VISIBLE)
 
-void keybindings_add_accels()
+static void keybindings_add_accels()
 {
 	GtkAccelGroup *accel_group = gtk_accel_group_new();
 
@@ -500,12 +541,16 @@
 }
 
 
-void keybindings_call_popup_item(int menuitemkey)
+static void keybindings_call_popup_item(int menuitemkey)
 {
 	gint idx = document_get_cur_idx();
-	gint pos = sci_get_current_position(doc_list[idx].sci);
+	gint pos;
 	gchar current_word[128];
 
+	if (idx == -1 || ! doc_list[idx].is_valid) return;
+	
+	pos = sci_get_current_position(doc_list[idx].sci);
+
 	utils_find_current_word(doc_list[idx].sci, pos,
 		current_word, sizeof current_word);
 


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