SF.net SVN: geany: [866] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Wed Oct 4 19:15:11 UTC 2006
Revision: 866
http://svn.sourceforge.net/geany/?rev=866&view=rev
Author: eht16
Date: 2006-10-04 12:14:57 -0700 (Wed, 04 Oct 2006)
Log Message:
-----------
Fixed crash when using "Make object" on new files(closes #1570818).
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/callbacks.c
trunk/src/document.c
trunk/src/filetypes.c
trunk/src/filetypes.h
trunk/src/main.c
trunk/src/ui_utils.c
trunk/src/ui_utils.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2006-10-03 17:54:02 UTC (rev 865)
+++ trunk/ChangeLog 2006-10-04 19:14:57 UTC (rev 866)
@@ -1,3 +1,11 @@
+2006-10-04 Enrico Tröger <enrico.troeger at uvena.de>
+
+ * src/ui_utils.c, src/main.c, src/document.c, src/callbacks.c:
+ Renamed ui_build_show_hide() in ui_update_build_menu().
+ * src/filetypes.c, src/ui_utils.c:
+ Fixed crash when using "Make object" on new files(closes #1570818).
+
+
2006-10-03 Enrico Tröger <enrico.troeger at uvena.de>
* src/callbacks.c: Save configuration(i.e. list of open files) as late
Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c 2006-10-03 17:54:02 UTC (rev 865)
+++ trunk/src/callbacks.c 2006-10-04 19:14:57 UTC (rev 866)
@@ -759,7 +759,7 @@
document_set_text_changed(idx);
ui_document_show_hide(idx); // update the document menu
- ui_build_show_hide(idx);
+ ui_update_build_menu(idx);
ui_update_statusbar(idx, -1);
ui_set_window_title(idx);
ui_update_tag_list(idx, FALSE);
@@ -930,7 +930,7 @@
utils_replace_filename(idx);
document_save_file(idx, TRUE);
- ui_build_show_hide(idx);
+ ui_update_build_menu(idx);
// finally add current file to recent files menu
ui_add_recent_file(doc_list[idx].file_name);
@@ -1648,21 +1648,25 @@
case 2: //make object
{
gchar *locale_filename, *short_file, *noext, *object_file; //temp
- locale_filename = utils_get_locale_from_utf8(doc_list[idx].file_name);
- short_file = g_path_get_basename(locale_filename);
- g_free(locale_filename);
+ if (doc_list[idx].file_name != NULL)
+ {
+ locale_filename = utils_get_locale_from_utf8(doc_list[idx].file_name);
- noext = utils_remove_ext_from_filename(short_file);
- g_free(short_file);
+ short_file = g_path_get_basename(locale_filename);
+ g_free(locale_filename);
- object_file = g_strdup_printf("%s.o", noext);
- g_free(noext);
+ noext = utils_remove_ext_from_filename(short_file);
+ g_free(short_file);
- g_free(app->build_make_custopt);
- app->build_make_custopt = g_strdup(object_file);
- g_free(object_file);
- make_object = TRUE;
+ object_file = g_strdup_printf("%s.o", noext);
+ g_free(noext);
+
+ g_free(app->build_make_custopt);
+ app->build_make_custopt = g_strdup(object_file);
+ g_free(object_file);
+ make_object = TRUE;
+ }
}
// fall through
Modified: trunk/src/document.c
===================================================================
--- trunk/src/document.c 2006-10-03 17:54:02 UTC (rev 865)
+++ trunk/src/document.c 2006-10-04 19:14:57 UTC (rev 866)
@@ -354,7 +354,7 @@
ui_set_window_title(-1);
ui_save_buttons_toggle(FALSE);
ui_close_buttons_toggle();
- ui_build_show_hide(-1);
+ ui_update_build_menu(-1);
}
}
else geany_debug("Error: idx: %d page_num: %d", idx, page_num);
@@ -389,7 +389,7 @@
document_set_filetype(idx, ft); // also clears taglist
if (ft == NULL) filetypes[GEANY_FILETYPES_ALL]->style_func_ptr(doc_list[idx].sci);
ui_set_window_title(idx);
- ui_build_show_hide(idx);
+ ui_update_build_menu(idx);
doc_list[idx].mtime = time(NULL);
doc_list[idx].changed = FALSE;
document_set_text_changed(idx);
@@ -666,7 +666,7 @@
sci_set_readonly(doc_list[idx].sci, readonly);
document_set_filetype(idx, use_ft); // also sets taglist
- ui_build_show_hide(idx);
+ ui_update_build_menu(idx);
}
else
{ // reloading
@@ -1197,7 +1197,7 @@
}
}
sci_colourise(doc_list[idx].sci, 0, -1);
- ui_build_show_hide(idx);
+ ui_update_build_menu(idx);
}
Modified: trunk/src/filetypes.c
===================================================================
--- trunk/src/filetypes.c 2006-10-03 17:54:02 UTC (rev 865)
+++ trunk/src/filetypes.c 2006-10-04 19:14:57 UTC (rev 866)
@@ -805,6 +805,9 @@
if (filetypes[i]->menu_items->item_exec != NULL &&
GTK_IS_WIDGET(filetypes[i]->menu_items->item_exec))
gtk_widget_destroy(filetypes[i]->menu_items->item_exec);
+ if (filetypes[i]->menu_items->item_make_object != NULL &&
+ GTK_IS_WIDGET(filetypes[i]->menu_items->item_make_object))
+ gtk_widget_destroy(filetypes[i]->menu_items->item_make_object);
*/ g_free(filetypes[i]->menu_items);
g_strfreev(filetypes[i]->pattern);
@@ -941,7 +944,7 @@
gchar *fname, *ext, *data;
if (! bp->modified) continue;
-
+
ext = get_conf_extension(i);
fname = g_strconcat(conf_prefix, ext, NULL);
g_free(ext);
Modified: trunk/src/filetypes.h
===================================================================
--- trunk/src/filetypes.h 2006-10-03 17:54:02 UTC (rev 865)
+++ trunk/src/filetypes.h 2006-10-04 19:14:57 UTC (rev 866)
@@ -70,6 +70,7 @@
GtkWidget *item_compile;
GtkWidget *item_link;
GtkWidget *item_exec;
+ GtkWidget *item_make_object;
gboolean can_compile;
gboolean can_link;
gboolean can_exec;
Modified: trunk/src/main.c
===================================================================
--- trunk/src/main.c 2006-10-03 17:54:02 UTC (rev 865)
+++ trunk/src/main.c 2006-10-04 19:14:57 UTC (rev 866)
@@ -608,7 +608,7 @@
idx = document_get_cur_idx();
gtk_widget_grab_focus(GTK_WIDGET(doc_list[idx].sci));
gtk_tree_model_foreach(GTK_TREE_MODEL(tv.store_openfiles), treeviews_find_node, GINT_TO_POINTER(idx));
- ui_build_show_hide(idx);
+ ui_update_build_menu(idx);
ui_update_tag_list(idx, FALSE);
#ifdef G_OS_WIN32
Modified: trunk/src/ui_utils.c
===================================================================
--- trunk/src/ui_utils.c 2006-10-03 17:54:02 UTC (rev 865)
+++ trunk/src/ui_utils.c 2006-10-04 19:14:57 UTC (rev 866)
@@ -618,7 +618,7 @@
}
-void ui_build_show_hide(gint idx)
+void ui_update_build_menu(gint idx)
{
gboolean is_header = FALSE;
gchar *ext = NULL;
@@ -671,7 +671,7 @@
gtk_menu_item_set_submenu(GTK_MENU_ITEM(lookup_widget(app->window, "menu_build1")),
ft->menu_items->menu);
- if (is_header)
+ if (is_header) // means also filename is NULL
{
gtk_widget_set_sensitive(app->compile_button, FALSE);
gtk_widget_set_sensitive(app->run_button, FALSE);
@@ -681,6 +681,7 @@
gtk_widget_set_sensitive(ft->menu_items->item_link, FALSE);
if (ft->menu_items->can_exec)
gtk_widget_set_sensitive(ft->menu_items->item_exec, FALSE);
+ gtk_widget_set_sensitive(ft->menu_items->item_make_object, FALSE);
}
else
{
@@ -692,8 +693,8 @@
gtk_widget_set_sensitive(ft->menu_items->item_link, TRUE);
if (ft->menu_items->can_exec)
gtk_widget_set_sensitive(ft->menu_items->item_exec, TRUE);
+ gtk_widget_set_sensitive(ft->menu_items->item_make_object, TRUE);
}
-
break;
}
case GEANY_FILETYPES_LATEX:
@@ -709,7 +710,7 @@
ft->menu_items->menu);
gtk_widget_set_sensitive(app->compile_button, FALSE);
gtk_widget_set_sensitive(app->run_button, FALSE);
- }
+ }
else
{
gtk_menu_item_set_submenu(GTK_MENU_ITEM(lookup_widget(app->window, "menu_build1")),
@@ -738,6 +739,7 @@
if (ft->menu_items->can_link)
gtk_widget_set_sensitive(ft->menu_items->item_link, FALSE);
if (ft->menu_items->can_exec) gtk_widget_set_sensitive(ft->menu_items->item_exec, FALSE);
+ gtk_widget_set_sensitive(ft->menu_items->item_make_object, FALSE);
}
else
{
@@ -751,6 +753,7 @@
gtk_widget_set_sensitive(ft->menu_items->item_link, TRUE);
if (ft->menu_items->can_exec)
gtk_widget_set_sensitive(ft->menu_items->item_exec, TRUE);
+ gtk_widget_set_sensitive(ft->menu_items->item_make_object, TRUE);
}
}
}
@@ -832,6 +835,7 @@
gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file using the "
"make tool"), NULL);
g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_make_activate), GINT_TO_POINTER(2));
+ ft->menu_items->item_make_object = item;
#endif
if (ft->menu_items->can_exec)
@@ -1378,7 +1382,7 @@
align = gtk_alignment_new (0.5, 0.5, 1, 1);
gtk_container_add (GTK_CONTAINER (frame), align);
- gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, 0, 12, 0);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, 0, 12, 0);
label_markup = g_strconcat("<b>", label_text, "</b>", NULL);
label = gtk_label_new (label_markup);
Modified: trunk/src/ui_utils.h
===================================================================
--- trunk/src/ui_utils.h 2006-10-03 17:54:02 UTC (rev 865)
+++ trunk/src/ui_utils.h 2006-10-04 19:14:57 UTC (rev 866)
@@ -68,7 +68,7 @@
void ui_widget_show_hide(GtkWidget *widget, gboolean show);
-void ui_build_show_hide(gint);
+void ui_update_build_menu(gint);
void ui_treeviews_show_hide(gboolean force);
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