SF.net SVN: geany: [913] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Sat Oct 21 11:34:25 UTC 2006


Revision: 913
          http://svn.sourceforge.net/geany/?rev=913&view=rev
Author:   ntrel
Date:     2006-10-21 04:34:18 -0700 (Sat, 21 Oct 2006)

Log Message:
-----------
Moved finalization code from destroyapp() to main_quit().

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/callbacks.c
    trunk/src/main.c
    trunk/src/main.h

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-10-21 11:16:54 UTC (rev 912)
+++ trunk/ChangeLog	2006-10-21 11:34:18 UTC (rev 913)
@@ -13,6 +13,8 @@
    src/callbacks.c, src/sci_cb.c, src/vte.c, src/search.c, src/main.h:
    Move geany_debug prototype to geany.h so that all files can use it
    without a dependency on main.h.
+ * src/callbacks.c, src/main.c, src/main.h:
+   Moved finalization code from destroyapp() to main_quit().
 
 
 2006-10-20  Nick Treleaven  <nick.treleaven at btinternet.com>

Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c	2006-10-21 11:16:54 UTC (rev 912)
+++ trunk/src/callbacks.c	2006-10-21 11:34:18 UTC (rev 913)
@@ -33,7 +33,6 @@
 #include "interface.h"
 #include "support.h"
 
-#include "highlighting.h"
 #include "keyfile.h"
 #include "document.h"
 #include "sciwrappers.h"
@@ -50,6 +49,7 @@
 #include "keybindings.h"
 #include "encodings.h"
 #include "search.h"
+#include "main.h"
 
 #ifdef G_OS_WIN32
 # include "win32.h"
@@ -79,81 +79,7 @@
 // real exit function
 gint destroyapp(GtkWidget *widget, gpointer gdata)
 {
-	geany_debug("Quitting...");
-
-#ifdef HAVE_SOCKET
-	socket_finalize();
-#endif
-
-	keybindings_free();
-	filetypes_save_commands();
-	filetypes_free_types();
-	styleset_free_styles();
-	templates_free_templates();
-	msgwin_finalize();
-	search_finalize();
-	build_finalize();
-	document_finalize();
-
-	tm_workspace_free(TM_WORK_OBJECT(app->tm_workspace));
-	g_strfreev(html_entities);
-	g_free(app->configdir);
-	g_free(app->datadir);
-	g_free(app->docdir);
-	g_free(app->editor_font);
-	g_free(app->tagbar_font);
-	g_free(app->msgwin_font);
-	g_free(app->long_line_color);
-	g_free(app->pref_template_developer);
-	g_free(app->pref_template_company);
-	g_free(app->pref_template_mail);
-	g_free(app->pref_template_initial);
-	g_free(app->pref_template_version);
-	g_free(app->tools_make_cmd);
-	g_free(app->tools_term_cmd);
-	g_free(app->tools_browser_cmd);
-	while (! g_queue_is_empty(app->recent_queue))
-	{
-		g_free(g_queue_pop_tail(app->recent_queue));
-	}
-	g_queue_free(app->recent_queue);
-
-	if (app->prefs_dialog && GTK_IS_WIDGET(app->prefs_dialog)) gtk_widget_destroy(app->prefs_dialog);
-	if (app->save_filesel && GTK_IS_WIDGET(app->save_filesel)) gtk_widget_destroy(app->save_filesel);
-	if (app->open_filesel && GTK_IS_WIDGET(app->open_filesel)) gtk_widget_destroy(app->open_filesel);
-	if (app->open_fontsel && GTK_IS_WIDGET(app->open_fontsel)) gtk_widget_destroy(app->open_fontsel);
-	if (app->open_colorsel && GTK_IS_WIDGET(app->open_colorsel)) gtk_widget_destroy(app->open_colorsel);
-	if (app->default_tag_tree && GTK_IS_WIDGET(app->default_tag_tree))
-	{
-		g_object_unref(app->default_tag_tree);
-		gtk_widget_destroy(app->default_tag_tree);
-	}
-	scintilla_release_resources();
-#ifdef HAVE_VTE
-	if (vte_info.have_vte) vte_close();
-	g_free(vte_info.lib_vte);
-#endif
-	gtk_widget_destroy(app->window);
-
-	// destroy popup menus
-	if (app->popup_menu && GTK_IS_WIDGET(app->popup_menu))
-					gtk_widget_destroy(app->popup_menu);
-	if (app->toolbar_menu && GTK_IS_WIDGET(app->toolbar_menu))
-					gtk_widget_destroy(app->toolbar_menu);
-	if (tv.popup_taglist && GTK_IS_WIDGET(tv.popup_taglist))
-					gtk_widget_destroy(tv.popup_taglist);
-	if (tv.popup_openfiles && GTK_IS_WIDGET(tv.popup_openfiles))
-					gtk_widget_destroy(tv.popup_openfiles);
-	if (msgwindow.popup_status_menu && GTK_IS_WIDGET(msgwindow.popup_status_menu))
-					gtk_widget_destroy(msgwindow.popup_status_menu);
-	if (msgwindow.popup_msg_menu && GTK_IS_WIDGET(msgwindow.popup_msg_menu))
-					gtk_widget_destroy(msgwindow.popup_msg_menu);
-	if (msgwindow.popup_compiler_menu && GTK_IS_WIDGET(msgwindow.popup_compiler_menu))
-					gtk_widget_destroy(msgwindow.popup_compiler_menu);
-
-	g_free(app);
-
-	gtk_main_quit();
+	main_quit();
 	return (FALSE);
 }
 

Modified: trunk/src/main.c
===================================================================
--- trunk/src/main.c	2006-10-21 11:16:54 UTC (rev 912)
+++ trunk/src/main.c	2006-10-21 11:34:18 UTC (rev 913)
@@ -51,6 +51,7 @@
 #include "sci_cb.h"
 #include "search.h"
 #include "build.h"
+#include "highlighting.h"
 
 #ifdef HAVE_SOCKET
 # include "socket.h"
@@ -637,3 +638,82 @@
 	return 0;
 }
 
+
+void main_quit()
+{
+	geany_debug("Quitting...");
+
+#ifdef HAVE_SOCKET
+	socket_finalize();
+#endif
+
+	keybindings_free();
+	filetypes_save_commands();
+	filetypes_free_types();
+	styleset_free_styles();
+	templates_free_templates();
+	msgwin_finalize();
+	search_finalize();
+	build_finalize();
+	document_finalize();
+
+	tm_workspace_free(TM_WORK_OBJECT(app->tm_workspace));
+	g_strfreev(html_entities);
+	g_free(app->configdir);
+	g_free(app->datadir);
+	g_free(app->docdir);
+	g_free(app->editor_font);
+	g_free(app->tagbar_font);
+	g_free(app->msgwin_font);
+	g_free(app->long_line_color);
+	g_free(app->pref_template_developer);
+	g_free(app->pref_template_company);
+	g_free(app->pref_template_mail);
+	g_free(app->pref_template_initial);
+	g_free(app->pref_template_version);
+	g_free(app->tools_make_cmd);
+	g_free(app->tools_term_cmd);
+	g_free(app->tools_browser_cmd);
+	while (! g_queue_is_empty(app->recent_queue))
+	{
+		g_free(g_queue_pop_tail(app->recent_queue));
+	}
+	g_queue_free(app->recent_queue);
+
+	if (app->prefs_dialog && GTK_IS_WIDGET(app->prefs_dialog)) gtk_widget_destroy(app->prefs_dialog);
+	if (app->save_filesel && GTK_IS_WIDGET(app->save_filesel)) gtk_widget_destroy(app->save_filesel);
+	if (app->open_filesel && GTK_IS_WIDGET(app->open_filesel)) gtk_widget_destroy(app->open_filesel);
+	if (app->open_fontsel && GTK_IS_WIDGET(app->open_fontsel)) gtk_widget_destroy(app->open_fontsel);
+	if (app->open_colorsel && GTK_IS_WIDGET(app->open_colorsel)) gtk_widget_destroy(app->open_colorsel);
+	if (app->default_tag_tree && GTK_IS_WIDGET(app->default_tag_tree))
+	{
+		g_object_unref(app->default_tag_tree);
+		gtk_widget_destroy(app->default_tag_tree);
+	}
+	scintilla_release_resources();
+#ifdef HAVE_VTE
+	if (vte_info.have_vte) vte_close();
+	g_free(vte_info.lib_vte);
+#endif
+	gtk_widget_destroy(app->window);
+
+	// destroy popup menus
+	if (app->popup_menu && GTK_IS_WIDGET(app->popup_menu))
+					gtk_widget_destroy(app->popup_menu);
+	if (app->toolbar_menu && GTK_IS_WIDGET(app->toolbar_menu))
+					gtk_widget_destroy(app->toolbar_menu);
+	if (tv.popup_taglist && GTK_IS_WIDGET(tv.popup_taglist))
+					gtk_widget_destroy(tv.popup_taglist);
+	if (tv.popup_openfiles && GTK_IS_WIDGET(tv.popup_openfiles))
+					gtk_widget_destroy(tv.popup_openfiles);
+	if (msgwindow.popup_status_menu && GTK_IS_WIDGET(msgwindow.popup_status_menu))
+					gtk_widget_destroy(msgwindow.popup_status_menu);
+	if (msgwindow.popup_msg_menu && GTK_IS_WIDGET(msgwindow.popup_msg_menu))
+					gtk_widget_destroy(msgwindow.popup_msg_menu);
+	if (msgwindow.popup_compiler_menu && GTK_IS_WIDGET(msgwindow.popup_compiler_menu))
+					gtk_widget_destroy(msgwindow.popup_compiler_menu);
+
+	g_free(app);
+
+	gtk_main_quit();
+}

Modified: trunk/src/main.h
===================================================================
--- trunk/src/main.h	2006-10-21 11:16:54 UTC (rev 912)
+++ trunk/src/main.h	2006-10-21 11:34:18 UTC (rev 913)
@@ -36,4 +36,6 @@
 
 gchar *get_argv_filename(const gchar *filename);
 
+void main_quit();
+
 #endif


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