[geany/geany] 056e7c: Change to GEANY_EXPORT_SYMBOL for callback functions

Matthew Brush git-noreply at xxxxx
Fri Apr 10 15:06:57 UTC 2015


Branch:      refs/heads/master
Author:      Matthew Brush <matt at geany.org>
Committer:   Thomas Martitz <kugel at rockbox.org>
Date:        Tue, 10 Mar 2015 21:06:47 UTC
Commit:      056e7cb4c8bd193e85f1c834a3c9f0beb06b8828
             https://github.com/geany/geany/commit/056e7cb4c8bd193e85f1c834a3c9f0beb06b8828

Log Message:
-----------
Change to GEANY_EXPORT_SYMBOL for callback functions

This allows them to be dynamically exported when -fvisibility=hidden
is applied.

TODO: remove the CFLAGS hack in configure.ac


Modified Paths:
--------------
    configure.ac
    src/callbacks.c
    src/callbacks.h
    src/project.c

Modified: configure.ac
3 lines changed, 3 insertions(+), 0 deletions(-)
===================================================================
@@ -122,6 +122,9 @@ AC_SUBST([pkgdatadir])
 GEANY_CHECK_DOCUTILS
 GEANY_CHECK_DOXYGEN
 
+#FIXME: replace this with a real check that the compiler supports the argument
+CFLAGS="${CFLAGS} -fvisibility=hidden"
+
 # Output
 AC_CONFIG_FILES([
 		Makefile


Modified: src/callbacks.c
422 lines changed, 211 insertions(+), 211 deletions(-)
===================================================================
@@ -74,82 +74,82 @@
 
 
 /* prototypes of Glade-only callback to let the compiler know they really are meant to be exported */
-G_MODULE_EXPORT gboolean on_window_delete_event(GtkWidget *widget, GdkEvent *event, gpointer gdata);
-G_MODULE_EXPORT void on_info1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_change_font1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_crlf_activate(GtkCheckMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_lf_activate(GtkCheckMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_cr_activate(GtkCheckMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_hide_toolbar1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_show_toolbar1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
-G_MODULE_EXPORT void on_fullscreen1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
-G_MODULE_EXPORT void on_markers_margin1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
-G_MODULE_EXPORT void on_show_messages_window1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
-G_MODULE_EXPORT void on_menu_color_schemes_activate(GtkImageMenuItem *imagemenuitem, gpointer user_data);
-G_MODULE_EXPORT void on_count_words1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_edit1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_website1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_help_menu_item_donate_activate(GtkMenuItem *item, gpointer user_data);
-G_MODULE_EXPORT void on_help_menu_item_wiki_activate(GtkMenuItem *item, gpointer user_data);
-G_MODULE_EXPORT void on_help_menu_item_bug_report_activate(GtkMenuItem *item, gpointer user_data);
-G_MODULE_EXPORT void on_comments_function_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_comments_multiline_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_comments_changelog_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_comments_gpl_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_comments_fileheader_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_set_file_readonly1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
-G_MODULE_EXPORT void on_tv_notebook_switch_page(GtkNotebook *notebook, gpointer page, guint page_num, gpointer user_data);
-G_MODULE_EXPORT void on_help_shortcuts1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_file_properties_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_show_line_numbers1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
-G_MODULE_EXPORT void on_use_auto_indentation1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
-G_MODULE_EXPORT void on_menu_fold_all1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_menu_unfold_all1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_notebook1_switch_page_after(GtkNotebook *notebook, gpointer page, guint page_num, gpointer user_data);
-G_MODULE_EXPORT void on_menu_write_unicode_bom1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
-G_MODULE_EXPORT void on_menu_comments_multiline_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_menu_comments_gpl_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_menu_comments_bsd_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_comments_bsd_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_menu_project1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_load_tags1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_file1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_tv_notebook_switch_page_after(GtkNotebook *notebook, gpointer page, guint page_num, gpointer user_data);
-G_MODULE_EXPORT void on_tabs1_activate(GtkCheckMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_spaces1_activate(GtkCheckMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_strip_trailing_spaces1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_page_setup1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_search1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_menu_reload_configuration1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_tabs_and_spaces1_activate(GtkCheckMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_debug_messages1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_menu_show_white_space1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
-G_MODULE_EXPORT void on_menu_show_line_endings1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
-G_MODULE_EXPORT void on_menu_show_indentation_guides1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
-G_MODULE_EXPORT gboolean on_window_state_event(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data);
-G_MODULE_EXPORT void on_customize_toolbar1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_button_customize_toolbar_clicked(GtkButton *button, gpointer user_data);
-G_MODULE_EXPORT void on_cut_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_copy_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_delete_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_duplicate_line_or_selection1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_select_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_select_current_paragraph1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_insert_alternative_white_space1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_go_to_next_marker1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_go_to_previous_marker1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_reflow_lines_block1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_smart_line_indent1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_move_lines_up1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_move_lines_down1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_goto_tag_definition1(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_goto_tag_declaration1(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_indent_width_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_reset_indentation1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_mark_all1_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_detect_type_from_file_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_detect_width_from_file_activate(GtkMenuItem *menuitem, gpointer user_data);
-G_MODULE_EXPORT void on_clone1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL gboolean on_window_delete_event(GtkWidget *widget, GdkEvent *event, gpointer gdata);
+GEANY_EXPORT_SYMBOL void on_info1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_change_font1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_crlf_activate(GtkCheckMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_lf_activate(GtkCheckMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_cr_activate(GtkCheckMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_hide_toolbar1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_show_toolbar1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_fullscreen1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_markers_margin1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_show_messages_window1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_color_schemes_activate(GtkImageMenuItem *imagemenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_count_words1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_edit1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_website1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_help_menu_item_donate_activate(GtkMenuItem *item, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_help_menu_item_wiki_activate(GtkMenuItem *item, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_help_menu_item_bug_report_activate(GtkMenuItem *item, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_comments_function_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_comments_multiline_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_comments_changelog_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_comments_gpl_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_comments_fileheader_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_set_file_readonly1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_tv_notebook_switch_page(GtkNotebook *notebook, gpointer page, guint page_num, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_help_shortcuts1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_file_properties_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_show_line_numbers1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_use_auto_indentation1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_fold_all1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_unfold_all1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_notebook1_switch_page_after(GtkNotebook *notebook, gpointer page, guint page_num, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_write_unicode_bom1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_comments_multiline_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_comments_gpl_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_comments_bsd_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_comments_bsd_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_project1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_load_tags1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_file1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_tv_notebook_switch_page_after(GtkNotebook *notebook, gpointer page, guint page_num, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_tabs1_activate(GtkCheckMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_spaces1_activate(GtkCheckMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_strip_trailing_spaces1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_page_setup1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_search1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_reload_configuration1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_tabs_and_spaces1_activate(GtkCheckMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_debug_messages1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_show_white_space1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_show_line_endings1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_show_indentation_guides1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL gboolean on_window_state_event(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_customize_toolbar1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_button_customize_toolbar_clicked(GtkButton *button, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_cut_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_copy_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_delete_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_duplicate_line_or_selection1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_select_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_select_current_paragraph1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_insert_alternative_white_space1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_go_to_next_marker1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_go_to_previous_marker1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_reflow_lines_block1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_smart_line_indent1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_move_lines_up1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_move_lines_down1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_goto_tag_definition1(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_goto_tag_declaration1(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_indent_width_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_reset_indentation1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_mark_all1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_detect_type_from_file_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_detect_width_from_file_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_clone1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
 
 /* represents the state at switching a notebook page(in the left treeviews widget), to not emit
@@ -159,7 +159,7 @@ G_MODULE_EXPORT void on_clone1_activate(GtkMenuItem *menuitem, gpointer user_dat
 
 
 /* wrapper function to abort exit process if cancel button is pressed */
-G_MODULE_EXPORT gboolean on_window_delete_event(GtkWidget *widget, GdkEvent *event, gpointer gdata)
+GEANY_EXPORT_SYMBOL gboolean on_window_delete_event(GtkWidget *widget, GdkEvent *event, gpointer gdata)
 {
 	return !main_quit();
 }
@@ -169,14 +169,14 @@ G_MODULE_EXPORT gboolean on_window_delete_event(GtkWidget *widget, GdkEvent *eve
  * GUI callbacks
  */
 
-G_MODULE_EXPORT void on_new1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_new1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	document_new_file(NULL, NULL, NULL);
 }
 
 
 /* create a new file and copy file content and properties */
-G_MODULE_EXPORT void on_clone1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_clone1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *old_doc = document_get_current();
 
@@ -185,7 +185,7 @@ G_MODULE_EXPORT void on_clone1_activate(GtkMenuItem *menuitem, gpointer user_dat
 }
 
 
-G_MODULE_EXPORT void on_save1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_save1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 
@@ -196,13 +196,13 @@ G_MODULE_EXPORT void on_save1_activate(GtkMenuItem *menuitem, gpointer user_data
 }
 
 
-G_MODULE_EXPORT void on_save_as1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_save_as1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	dialogs_show_save_as();
 }
 
 
-G_MODULE_EXPORT void on_save_all1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_save_all1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	guint i, max = (guint) gtk_notebook_get_n_pages(GTK_NOTEBOOK(main_widgets.notebook));
 	GeanyDocument *doc, *cur_doc = document_get_current();
@@ -229,13 +229,13 @@ G_MODULE_EXPORT void on_save_all1_activate(GtkMenuItem *menuitem, gpointer user_
 }
 
 
-G_MODULE_EXPORT void on_close_all1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_close_all1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	document_close_all();
 }
 
 
-G_MODULE_EXPORT void on_close1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_close1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 
@@ -244,13 +244,13 @@ G_MODULE_EXPORT void on_close1_activate(GtkMenuItem *menuitem, gpointer user_dat
 }
 
 
-G_MODULE_EXPORT void on_quit1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_quit1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	main_quit();
 }
 
 
-G_MODULE_EXPORT void on_file1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_file1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	gtk_widget_set_sensitive(ui_widgets.recent_files_menuitem,
 						g_queue_get_length(ui_prefs.recent_queue) > 0);
@@ -260,7 +260,7 @@ G_MODULE_EXPORT void on_file1_activate(GtkMenuItem *menuitem, gpointer user_data
 
 
 /* edit actions, c&p & co, from menu bar and from popup menu */
-G_MODULE_EXPORT void on_edit1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_edit1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GtkWidget *item;
 	GeanyDocument *doc = document_get_current();
@@ -277,7 +277,7 @@ G_MODULE_EXPORT void on_edit1_activate(GtkMenuItem *menuitem, gpointer user_data
 }
 
 
-G_MODULE_EXPORT void on_undo1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_undo1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 
@@ -291,7 +291,7 @@ G_MODULE_EXPORT void on_undo1_activate(GtkMenuItem *menuitem, gpointer user_data
 }
 
 
-G_MODULE_EXPORT void on_redo1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_redo1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 
@@ -305,7 +305,7 @@ G_MODULE_EXPORT void on_redo1_activate(GtkMenuItem *menuitem, gpointer user_data
 }
 
 
-G_MODULE_EXPORT void on_cut1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_cut1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	GtkWidget *focusw = gtk_window_get_focus(GTK_WINDOW(main_widgets.window));
@@ -325,7 +325,7 @@ G_MODULE_EXPORT void on_cut1_activate(GtkMenuItem *menuitem, gpointer user_data)
 }
 
 
-G_MODULE_EXPORT void on_copy1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_copy1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	GtkWidget *focusw = gtk_window_get_focus(GTK_WINDOW(main_widgets.window));
@@ -345,7 +345,7 @@ G_MODULE_EXPORT void on_copy1_activate(GtkMenuItem *menuitem, gpointer user_data
 }
 
 
-G_MODULE_EXPORT void on_paste1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_paste1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	GtkWidget *focusw = gtk_window_get_focus(GTK_WINDOW(main_widgets.window));
@@ -368,7 +368,7 @@ G_MODULE_EXPORT void on_paste1_activate(GtkMenuItem *menuitem, gpointer user_dat
 }
 
 
-G_MODULE_EXPORT void on_delete1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_delete1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	GtkWidget *focusw = gtk_window_get_focus(GTK_WINDOW(main_widgets.window));
@@ -388,28 +388,28 @@ G_MODULE_EXPORT void on_delete1_activate(GtkMenuItem *menuitem, gpointer user_da
 }
 
 
-G_MODULE_EXPORT void on_preferences1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_preferences1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	prefs_show_dialog();
 }
 
 
 /* about menu item */
-G_MODULE_EXPORT void on_info1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_info1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	about_dialog_show();
 }
 
 
 /* open file */
-G_MODULE_EXPORT void on_open1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_open1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	dialogs_show_open_file();
 }
 
 
 /* reload file */
-G_MODULE_EXPORT void on_toolbutton_reload_clicked(GtkAction *action, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_toolbutton_reload_clicked(GtkAction *action, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 
@@ -419,7 +419,7 @@ G_MODULE_EXPORT void on_toolbutton_reload_clicked(GtkAction *action, gpointer us
 }
 
 
-G_MODULE_EXPORT void on_change_font1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_change_font1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	dialogs_show_open_font();
 }
@@ -484,7 +484,7 @@ void on_toolbutton_search_clicked(GtkAction *action, gpointer user_data)
 
 
 /* hides toolbar from toolbar popup menu */
-G_MODULE_EXPORT void on_hide_toolbar1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_hide_toolbar1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GtkWidget *tool_item = ui_lookup_widget(GTK_WIDGET(main_widgets.window), "menu_show_toolbar1");
 	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(tool_item), FALSE);
@@ -492,7 +492,7 @@ G_MODULE_EXPORT void on_hide_toolbar1_activate(GtkMenuItem *menuitem, gpointer u
 
 
 /* zoom in from menu bar and popup menu */
-G_MODULE_EXPORT void on_zoom_in1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_zoom_in1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 
@@ -503,7 +503,7 @@ G_MODULE_EXPORT void on_zoom_in1_activate(GtkMenuItem *menuitem, gpointer user_d
 
 
 /* zoom out from menu bar and popup menu */
-G_MODULE_EXPORT void on_zoom_out1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_zoom_out1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 
@@ -513,7 +513,7 @@ G_MODULE_EXPORT void on_zoom_out1_activate(GtkMenuItem *menuitem, gpointer user_
 }
 
 
-G_MODULE_EXPORT void on_normal_size1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_normal_size1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 
@@ -532,7 +532,7 @@ static gboolean delayed_check_disk_status(gpointer data)
 
 /* Changes window-title after switching tabs and lots of other things.
  * note: using 'after' makes Scintilla redraw before the UI, appearing more responsive */
-G_MODULE_EXPORT void on_notebook1_switch_page_after(GtkNotebook *notebook, gpointer page,
+GEANY_EXPORT_SYMBOL void on_notebook1_switch_page_after(GtkNotebook *notebook, gpointer page,
 		guint page_num, gpointer user_data)
 {
 	GeanyDocument *doc;
@@ -568,7 +568,7 @@ G_MODULE_EXPORT void on_notebook1_switch_page_after(GtkNotebook *notebook, gpoin
 }
 
 
-G_MODULE_EXPORT void on_tv_notebook_switch_page(GtkNotebook *notebook, gpointer page,
+GEANY_EXPORT_SYMBOL void on_tv_notebook_switch_page(GtkNotebook *notebook, gpointer page,
 		guint page_num, gpointer user_data)
 {
 	/* suppress selection changed signal when switching to the open files list */
@@ -576,7 +576,7 @@ G_MODULE_EXPORT void on_tv_notebook_switch_page(GtkNotebook *notebook, gpointer
 }
 
 
-G_MODULE_EXPORT void on_tv_notebook_switch_page_after(GtkNotebook *notebook, gpointer page,
+GEANY_EXPORT_SYMBOL void on_tv_notebook_switch_page_after(GtkNotebook *notebook, gpointer page,
 		guint page_num, gpointer user_data)
 {
 	ignore_callback = FALSE;
@@ -595,7 +595,7 @@ static void convert_eol(gint mode)
 }
 
 
-G_MODULE_EXPORT void on_crlf_activate(GtkCheckMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_crlf_activate(GtkCheckMenuItem *menuitem, gpointer user_data)
 {
 	if (ignore_callback || ! gtk_check_menu_item_get_active(menuitem))
 		return;
@@ -604,7 +604,7 @@ G_MODULE_EXPORT void on_crlf_activate(GtkCheckMenuItem *menuitem, gpointer user_
 }
 
 
-G_MODULE_EXPORT void on_lf_activate(GtkCheckMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_lf_activate(GtkCheckMenuItem *menuitem, gpointer user_data)
 {
 	if (ignore_callback || ! gtk_check_menu_item_get_active(menuitem))
 		return;
@@ -613,7 +613,7 @@ G_MODULE_EXPORT void on_lf_activate(GtkCheckMenuItem *menuitem, gpointer user_da
 }
 
 
-G_MODULE_EXPORT void on_cr_activate(GtkCheckMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_cr_activate(GtkCheckMenuItem *menuitem, gpointer user_data)
 {
 	if (ignore_callback || ! gtk_check_menu_item_get_active(menuitem))
 		return;
@@ -622,7 +622,7 @@ G_MODULE_EXPORT void on_cr_activate(GtkCheckMenuItem *menuitem, gpointer user_da
 }
 
 
-G_MODULE_EXPORT void on_replace_tabs_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_replace_tabs_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 
@@ -643,7 +643,7 @@ gboolean toolbar_popup_menu(GtkWidget *widget, GdkEventButton *event, gpointer u
 }
 
 
-G_MODULE_EXPORT void on_toggle_case1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_toggle_case1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	ScintillaObject *sci;
@@ -699,7 +699,7 @@ G_MODULE_EXPORT void on_toggle_case1_activate(GtkMenuItem *menuitem, gpointer us
 }
 
 
-G_MODULE_EXPORT void on_show_toolbar1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_show_toolbar1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (ignore_callback) return;
 
@@ -708,7 +708,7 @@ G_MODULE_EXPORT void on_show_toolbar1_toggled(GtkCheckMenuItem *checkmenuitem, g
 }
 
 
-G_MODULE_EXPORT void on_fullscreen1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_fullscreen1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (ignore_callback)
 		return;
@@ -718,7 +718,7 @@ G_MODULE_EXPORT void on_fullscreen1_toggled(GtkCheckMenuItem *checkmenuitem, gpo
 }
 
 
-G_MODULE_EXPORT void on_show_messages_window1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_show_messages_window1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (ignore_callback)
 		return;
@@ -728,13 +728,13 @@ G_MODULE_EXPORT void on_show_messages_window1_toggled(GtkCheckMenuItem *checkmen
 }
 
 
-G_MODULE_EXPORT void on_menu_color_schemes_activate(GtkImageMenuItem *imagemenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_color_schemes_activate(GtkImageMenuItem *imagemenuitem, gpointer user_data)
 {
 	highlighting_show_color_scheme_dialog();
 }
 
 
-G_MODULE_EXPORT void on_markers_margin1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_markers_margin1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (ignore_callback)
 		return;
@@ -744,7 +744,7 @@ G_MODULE_EXPORT void on_markers_margin1_toggled(GtkCheckMenuItem *checkmenuitem,
 }
 
 
-G_MODULE_EXPORT void on_show_line_numbers1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_show_line_numbers1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (ignore_callback)
 		return;
@@ -754,7 +754,7 @@ G_MODULE_EXPORT void on_show_line_numbers1_toggled(GtkCheckMenuItem *checkmenuit
 }
 
 
-G_MODULE_EXPORT void on_menu_show_white_space1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_show_white_space1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (ignore_callback)
 		return;
@@ -764,7 +764,7 @@ G_MODULE_EXPORT void on_menu_show_white_space1_toggled(GtkCheckMenuItem *checkme
 }
 
 
-G_MODULE_EXPORT void on_menu_show_line_endings1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_show_line_endings1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (ignore_callback)
 		return;
@@ -774,7 +774,7 @@ G_MODULE_EXPORT void on_menu_show_line_endings1_toggled(GtkCheckMenuItem *checkm
 }
 
 
-G_MODULE_EXPORT void on_menu_show_indentation_guides1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_show_indentation_guides1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (ignore_callback)
 		return;
@@ -784,7 +784,7 @@ G_MODULE_EXPORT void on_menu_show_indentation_guides1_toggled(GtkCheckMenuItem *
 }
 
 
-G_MODULE_EXPORT void on_line_wrapping1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_line_wrapping1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (! ignore_callback)
 	{
@@ -796,7 +796,7 @@ G_MODULE_EXPORT void on_line_wrapping1_toggled(GtkCheckMenuItem *checkmenuitem,
 }
 
 
-G_MODULE_EXPORT void on_set_file_readonly1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_set_file_readonly1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (! ignore_callback)
 	{
@@ -811,7 +811,7 @@ G_MODULE_EXPORT void on_set_file_readonly1_toggled(GtkCheckMenuItem *checkmenuit
 }
 
 
-G_MODULE_EXPORT void on_use_auto_indentation1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_use_auto_indentation1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (! ignore_callback)
 	{
@@ -849,13 +849,13 @@ static void find_usage(gboolean in_session)
 }
 
 
-G_MODULE_EXPORT void on_find_document_usage1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_find_document_usage1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	find_usage(FALSE);
 }
 
 
-G_MODULE_EXPORT void on_find_usage1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_find_usage1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	find_usage(TRUE);
 }
@@ -879,25 +879,25 @@ static void goto_tag(gboolean definition)
 }
 
 
-G_MODULE_EXPORT void on_goto_tag_definition1(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_goto_tag_definition1(GtkMenuItem *menuitem, gpointer user_data)
 {
 	goto_tag(TRUE);
 }
 
 
-G_MODULE_EXPORT void on_goto_tag_declaration1(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_goto_tag_declaration1(GtkMenuItem *menuitem, gpointer user_data)
 {
 	goto_tag(FALSE);
 }
 
 
-G_MODULE_EXPORT void on_count_words1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_count_words1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	tools_word_count();
 }
 
 
-G_MODULE_EXPORT void on_show_color_chooser1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_show_color_chooser1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	gchar colour[9];
 	GeanyDocument *doc = document_get_current();
@@ -917,19 +917,19 @@ void on_toolbutton_compile_clicked(GtkAction *action, gpointer user_data)
 }
 
 
-G_MODULE_EXPORT void on_find1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_find1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	search_show_find_dialog();
 }
 
 
-G_MODULE_EXPORT void on_find_next1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_find_next1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	search_find_again(FALSE);
 }
 
 
-G_MODULE_EXPORT void on_find_previous1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_find_previous1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	if (search_data.flags & GEANY_FIND_REGEXP)
 		/* Can't reverse search order for a regex (find next ignores search backwards) */
@@ -939,25 +939,25 @@ G_MODULE_EXPORT void on_find_previous1_activate(GtkMenuItem *menuitem, gpointer
 }
 
 
-G_MODULE_EXPORT void on_find_nextsel1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_find_nextsel1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	search_find_selection(document_get_current(), FALSE);
 }
 
 
-G_MODULE_EXPORT void on_find_prevsel1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_find_prevsel1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	search_find_selection(document_get_current(), TRUE);
 }
 
 
-G_MODULE_EXPORT void on_replace1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_replace1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	search_show_replace_dialog();
 }
 
 
-G_MODULE_EXPORT void on_find_in_files1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_find_in_files1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	search_show_find_in_files_dialog(NULL);
 }
@@ -978,7 +978,7 @@ static void get_line_and_offset_from_text(const gchar *text, gint *line_no, gint
 }
 
 
-G_MODULE_EXPORT void on_go_to_line_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_go_to_line_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	static gchar value[16] = "";
 	gchar *result;
@@ -1036,7 +1036,7 @@ void on_toolbutton_goto_clicked(GtkAction *action, gpointer user_data)
 }
 
 
-G_MODULE_EXPORT void on_help1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_help1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	gchar *uri;
 
@@ -1046,37 +1046,37 @@ G_MODULE_EXPORT void on_help1_activate(GtkMenuItem *menuitem, gpointer user_data
 }
 
 
-G_MODULE_EXPORT void on_help_shortcuts1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_help_shortcuts1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_show_shortcuts();
 }
 
 
-G_MODULE_EXPORT void on_website1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_website1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	utils_open_browser(GEANY_HOMEPAGE);
 }
 
 
-G_MODULE_EXPORT void on_help_menu_item_donate_activate(GtkMenuItem *item, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_help_menu_item_donate_activate(GtkMenuItem *item, gpointer user_data)
 {
 	utils_open_browser(GEANY_DONATE);
 }
 
 
-G_MODULE_EXPORT void on_help_menu_item_wiki_activate(GtkMenuItem *item, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_help_menu_item_wiki_activate(GtkMenuItem *item, gpointer user_data)
 {
 	utils_open_browser(GEANY_WIKI);
 }
 
 
-G_MODULE_EXPORT void on_help_menu_item_bug_report_activate(GtkMenuItem *item, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_help_menu_item_bug_report_activate(GtkMenuItem *item, gpointer user_data)
 {
 	utils_open_browser(GEANY_BUG_REPORT);
 }
 
 
-G_MODULE_EXPORT void on_comments_function_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_comments_function_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	gchar *text;
@@ -1130,13 +1130,13 @@ static void insert_multiline_comment(GeanyDocument *doc, gint pos)
 }
 
 
-G_MODULE_EXPORT void on_comments_multiline_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_comments_multiline_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	insert_multiline_comment(document_get_current(), editor_info.click_pos);
 }
 
 
-G_MODULE_EXPORT void on_menu_comments_multiline_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_comments_multiline_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	insert_multiline_comment(document_get_current(), -1);
 }
@@ -1162,31 +1162,31 @@ static void insert_comment_template(GeanyDocument *doc, gint pos, guint template
 }
 
 
-G_MODULE_EXPORT void on_comments_gpl_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_comments_gpl_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_GPL);
 }
 
 
-G_MODULE_EXPORT void on_menu_comments_gpl_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_comments_gpl_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_GPL);
 }
 
 
-G_MODULE_EXPORT void on_comments_bsd_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_comments_bsd_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_BSD);
 }
 
 
-G_MODULE_EXPORT void on_menu_comments_bsd_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_comments_bsd_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_BSD);
 }
 
 
-G_MODULE_EXPORT void on_comments_changelog_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_comments_changelog_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	gchar *text;
@@ -1205,7 +1205,7 @@ G_MODULE_EXPORT void on_comments_changelog_activate(GtkMenuItem *menuitem, gpoin
 }
 
 
-G_MODULE_EXPORT void on_comments_fileheader_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_comments_fileheader_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	gchar *text;
@@ -1226,7 +1226,7 @@ G_MODULE_EXPORT void on_comments_fileheader_activate(GtkMenuItem *menuitem, gpoi
 }
 
 
-G_MODULE_EXPORT void on_file_properties_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_file_properties_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	g_return_if_fail(doc != NULL);
@@ -1235,7 +1235,7 @@ G_MODULE_EXPORT void on_file_properties_activate(GtkMenuItem *menuitem, gpointer
 }
 
 
-G_MODULE_EXPORT void on_menu_fold_all1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_fold_all1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	g_return_if_fail(doc != NULL);
@@ -1244,7 +1244,7 @@ G_MODULE_EXPORT void on_menu_fold_all1_activate(GtkMenuItem *menuitem, gpointer
 }
 
 
-G_MODULE_EXPORT void on_menu_unfold_all1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_unfold_all1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	g_return_if_fail(doc != NULL);
@@ -1259,7 +1259,7 @@ void on_toolbutton_run_clicked(GtkAction *action, gpointer user_data)
 }
 
 
-G_MODULE_EXPORT void on_menu_remove_indicators1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_remove_indicators1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	g_return_if_fail(doc != NULL);
@@ -1268,7 +1268,7 @@ G_MODULE_EXPORT void on_menu_remove_indicators1_activate(GtkMenuItem *menuitem,
 }
 
 
-G_MODULE_EXPORT void on_print1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_print1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	g_return_if_fail(doc != NULL);
@@ -1277,7 +1277,7 @@ G_MODULE_EXPORT void on_print1_activate(GtkMenuItem *menuitem, gpointer user_dat
 }
 
 
-G_MODULE_EXPORT void on_menu_select_all1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_select_all1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	g_return_if_fail(doc != NULL);
@@ -1286,7 +1286,7 @@ G_MODULE_EXPORT void on_menu_select_all1_activate(GtkMenuItem *menuitem, gpointe
 }
 
 
-G_MODULE_EXPORT void on_menu_show_sidebar1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_show_sidebar1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (ignore_callback)
 		return;
@@ -1313,7 +1313,7 @@ G_MODULE_EXPORT void on_menu_show_sidebar1_toggled(GtkCheckMenuItem *checkmenuit
 }
 
 
-G_MODULE_EXPORT void on_menu_write_unicode_bom1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_write_unicode_bom1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data)
 {
 	if (! ignore_callback)
 	{
@@ -1335,7 +1335,7 @@ G_MODULE_EXPORT void on_menu_write_unicode_bom1_toggled(GtkCheckMenuItem *checkm
 }
 
 
-G_MODULE_EXPORT void on_menu_comment_line1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_comment_line1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	g_return_if_fail(doc != NULL);
@@ -1344,7 +1344,7 @@ G_MODULE_EXPORT void on_menu_comment_line1_activate(GtkMenuItem *menuitem, gpoin
 }
 
 
-G_MODULE_EXPORT void on_menu_uncomment_line1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_uncomment_line1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	g_return_if_fail(doc != NULL);
@@ -1353,7 +1353,7 @@ G_MODULE_EXPORT void on_menu_uncomment_line1_activate(GtkMenuItem *menuitem, gpo
 }
 
 
-G_MODULE_EXPORT void on_menu_toggle_line_commentation1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_toggle_line_commentation1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	g_return_if_fail(doc != NULL);
@@ -1362,7 +1362,7 @@ G_MODULE_EXPORT void on_menu_toggle_line_commentation1_activate(GtkMenuItem *men
 }
 
 
-G_MODULE_EXPORT void on_menu_increase_indent1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_increase_indent1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	g_return_if_fail(doc != NULL);
@@ -1371,7 +1371,7 @@ G_MODULE_EXPORT void on_menu_increase_indent1_activate(GtkMenuItem *menuitem, gp
 }
 
 
-G_MODULE_EXPORT void on_menu_decrease_indent1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_decrease_indent1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	g_return_if_fail(doc != NULL);
@@ -1380,7 +1380,7 @@ G_MODULE_EXPORT void on_menu_decrease_indent1_activate(GtkMenuItem *menuitem, gp
 }
 
 
-G_MODULE_EXPORT void on_next_message1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_next_message1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	if (! ui_tree_view_find_next(GTK_TREE_VIEW(msgwindow.tree_msg),
 		msgwin_goto_messages_file_line))
@@ -1388,7 +1388,7 @@ G_MODULE_EXPORT void on_next_message1_activate(GtkMenuItem *menuitem, gpointer u
 }
 
 
-G_MODULE_EXPORT void on_previous_message1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_previous_message1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	if (! ui_tree_view_find_previous(GTK_TREE_VIEW(msgwindow.tree_msg),
 		msgwin_goto_messages_file_line))
@@ -1396,31 +1396,31 @@ G_MODULE_EXPORT void on_previous_message1_activate(GtkMenuItem *menuitem, gpoint
 }
 
 
-G_MODULE_EXPORT void on_project_new1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_project_new1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	project_new();
 }
 
 
-G_MODULE_EXPORT void on_project_open1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_project_open1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	project_open();
 }
 
 
-G_MODULE_EXPORT void on_project_close1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_project_close1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	project_close(TRUE);
 }
 
 
-G_MODULE_EXPORT void on_project_properties1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_project_properties1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	project_properties();
 }
 
 
-G_MODULE_EXPORT void on_menu_project1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_project1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	static GtkWidget *item_close = NULL;
 	static GtkWidget *item_properties = NULL;
@@ -1438,7 +1438,7 @@ G_MODULE_EXPORT void on_menu_project1_activate(GtkMenuItem *menuitem, gpointer u
 }
 
 
-G_MODULE_EXPORT void on_menu_open_selected_file1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_open_selected_file1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	gchar *sel = NULL;
@@ -1504,7 +1504,7 @@ G_MODULE_EXPORT void on_menu_open_selected_file1_activate(GtkMenuItem *menuitem,
 }
 
 
-G_MODULE_EXPORT void on_remove_markers1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_remove_markers1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	g_return_if_fail(doc != NULL);
@@ -1515,13 +1515,13 @@ G_MODULE_EXPORT void on_remove_markers1_activate(GtkMenuItem *menuitem, gpointer
 }
 
 
-G_MODULE_EXPORT void on_load_tags1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_load_tags1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	symbols_show_load_tags_dialog();
 }
 
 
-G_MODULE_EXPORT void on_context_action1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_context_action1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	gchar *word, *command;
 	GError *error = NULL;
@@ -1565,7 +1565,7 @@ G_MODULE_EXPORT void on_context_action1_activate(GtkMenuItem *menuitem, gpointer
 }
 
 
-G_MODULE_EXPORT void on_menu_toggle_all_additional_widgets1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_toggle_all_additional_widgets1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	static gint hide_all = -1;
 	GtkCheckMenuItem *msgw = GTK_CHECK_MENU_ITEM(
@@ -1654,25 +1654,25 @@ static void set_indent_type(GtkCheckMenuItem *menuitem, GeanyIndentType type)
 }
 
 
-G_MODULE_EXPORT void on_tabs1_activate(GtkCheckMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_tabs1_activate(GtkCheckMenuItem *menuitem, gpointer user_data)
 {
 	set_indent_type(menuitem, GEANY_INDENT_TYPE_TABS);
 }
 
 
-G_MODULE_EXPORT void on_spaces1_activate(GtkCheckMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_spaces1_activate(GtkCheckMenuItem *menuitem, gpointer user_data)
 {
 	set_indent_type(menuitem, GEANY_INDENT_TYPE_SPACES);
 }
 
 
-G_MODULE_EXPORT void on_tabs_and_spaces1_activate(GtkCheckMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_tabs_and_spaces1_activate(GtkCheckMenuItem *menuitem, gpointer user_data)
 {
 	set_indent_type(menuitem, GEANY_INDENT_TYPE_BOTH);
 }
 
 
-G_MODULE_EXPORT void on_strip_trailing_spaces1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_strip_trailing_spaces1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc;
 
@@ -1686,13 +1686,13 @@ G_MODULE_EXPORT void on_strip_trailing_spaces1_activate(GtkMenuItem *menuitem, g
 }
 
 
-G_MODULE_EXPORT void on_page_setup1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_page_setup1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	printing_page_setup_gtk();
 }
 
 
-G_MODULE_EXPORT gboolean on_escape_key_press_event(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
+GEANY_EXPORT_SYMBOL gboolean on_escape_key_press_event(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
 {
 	guint state = keybindings_get_modifiers(event->state);
 
@@ -1706,7 +1706,7 @@ G_MODULE_EXPORT gboolean on_escape_key_press_event(GtkWidget *widget, GdkEventKe
 }
 
 
-G_MODULE_EXPORT void on_line_breaking1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_line_breaking1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc;
 
@@ -1720,7 +1720,7 @@ G_MODULE_EXPORT void on_line_breaking1_activate(GtkMenuItem *menuitem, gpointer
 }
 
 
-G_MODULE_EXPORT void on_replace_spaces_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_replace_spaces_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 
@@ -1730,7 +1730,7 @@ G_MODULE_EXPORT void on_replace_spaces_activate(GtkMenuItem *menuitem, gpointer
 }
 
 
-G_MODULE_EXPORT void on_search1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_search1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GtkWidget *next_message = ui_lookup_widget(main_widgets.window, "next_message1");
 	GtkWidget *previous_message = ui_lookup_widget(main_widgets.window, "previous_message1");
@@ -1747,7 +1747,7 @@ G_MODULE_EXPORT void on_search1_activate(GtkMenuItem *menuitem, gpointer user_da
 
 /* simple implementation (vs. close all which doesn't close documents if cancelled),
  * if user_data is set, it is the GeanyDocument to keep */
-G_MODULE_EXPORT void on_close_other_documents1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_close_other_documents1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	guint i;
 	GeanyDocument *cur_doc = user_data;
@@ -1768,19 +1768,19 @@ G_MODULE_EXPORT void on_close_other_documents1_activate(GtkMenuItem *menuitem, g
 }
 
 
-G_MODULE_EXPORT void on_menu_reload_configuration1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_menu_reload_configuration1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	main_reload_configuration();
 }
 
 
-G_MODULE_EXPORT void on_debug_messages1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_debug_messages1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	log_show_debug_messages_dialog();
 }
 
 
-G_MODULE_EXPORT void on_send_selection_to_vte1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_send_selection_to_vte1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 #ifdef HAVE_VTE
 	if (vte_info.have_vte)
@@ -1789,7 +1789,7 @@ G_MODULE_EXPORT void on_send_selection_to_vte1_activate(GtkMenuItem *menuitem, g
 }
 
 
-G_MODULE_EXPORT gboolean on_window_state_event(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data)
+GEANY_EXPORT_SYMBOL gboolean on_window_state_event(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data)
 {
 
 	if (event->changed_mask & GDK_WINDOW_STATE_FULLSCREEN)
@@ -1823,7 +1823,7 @@ static void show_notebook_page(const gchar *notebook_name, const gchar *page_nam
 }
 
 
-G_MODULE_EXPORT void on_customize_toolbar1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_customize_toolbar1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	prefs_show_dialog();
 
@@ -1834,91 +1834,91 @@ G_MODULE_EXPORT void on_customize_toolbar1_activate(GtkMenuItem *menuitem, gpoin
 }
 
 
-G_MODULE_EXPORT void on_button_customize_toolbar_clicked(GtkButton *button, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_button_customize_toolbar_clicked(GtkButton *button, gpointer user_data)
 {
 	toolbar_configure(GTK_WINDOW(ui_widgets.prefs_dialog));
 }
 
 
-G_MODULE_EXPORT void on_cut_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_cut_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_CUTLINE);
 }
 
 
-G_MODULE_EXPORT void on_copy_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_copy_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_COPYLINE);
 }
 
 
-G_MODULE_EXPORT void on_delete_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_delete_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DELETELINE);
 }
 
 
-G_MODULE_EXPORT void on_duplicate_line_or_selection1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_duplicate_line_or_selection1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DUPLICATELINE);
 }
 
 
-G_MODULE_EXPORT void on_select_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_select_current_lines1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_LINE);
 }
 
 
-G_MODULE_EXPORT void on_select_current_paragraph1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_select_current_paragraph1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_PARAGRAPH);
 }
 
 
-G_MODULE_EXPORT void on_insert_alternative_white_space1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_insert_alternative_white_space1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_ALTWHITESPACE);
 }
 
 
-G_MODULE_EXPORT void on_go_to_next_marker1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_go_to_next_marker1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_NEXTMARKER);
 }
 
 
-G_MODULE_EXPORT void on_go_to_previous_marker1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_go_to_previous_marker1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_PREVIOUSMARKER);
 }
 
 
-G_MODULE_EXPORT void on_reflow_lines_block1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_reflow_lines_block1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_REFLOWPARAGRAPH);
 }
 
 
-G_MODULE_EXPORT void on_move_lines_up1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_move_lines_up1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_MOVELINEUP);
 }
 
 
-G_MODULE_EXPORT void on_move_lines_down1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_move_lines_down1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_MOVELINEDOWN);
 }
 
 
-G_MODULE_EXPORT void on_smart_line_indent1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_smart_line_indent1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_AUTOINDENT);
 }
 
 
-G_MODULE_EXPORT void on_plugin_preferences1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_plugin_preferences1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 #ifdef HAVE_PLUGINS
 	plugin_show_configure(NULL);
@@ -1926,7 +1926,7 @@ G_MODULE_EXPORT void on_plugin_preferences1_activate(GtkMenuItem *menuitem, gpoi
 }
 
 
-G_MODULE_EXPORT void on_indent_width_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_indent_width_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc;
 	gchar *label;
@@ -1945,7 +1945,7 @@ G_MODULE_EXPORT void on_indent_width_activate(GtkMenuItem *menuitem, gpointer us
 }
 
 
-G_MODULE_EXPORT void on_reset_indentation1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_reset_indentation1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	guint i;
 
@@ -1957,13 +1957,13 @@ G_MODULE_EXPORT void on_reset_indentation1_activate(GtkMenuItem *menuitem, gpoin
 }
 
 
-G_MODULE_EXPORT void on_mark_all1_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_mark_all1_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	keybindings_send_command(GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_MARKALL);
 }
 
 
-G_MODULE_EXPORT void on_detect_type_from_file_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_detect_type_from_file_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	GeanyIndentType type;
@@ -1976,7 +1976,7 @@ G_MODULE_EXPORT void on_detect_type_from_file_activate(GtkMenuItem *menuitem, gp
 }
 
 
-G_MODULE_EXPORT void on_detect_width_from_file_activate(GtkMenuItem *menuitem, gpointer user_data)
+GEANY_EXPORT_SYMBOL void on_detect_width_from_file_activate(GtkMenuItem *menuitem, gpointer user_data)
 {
 	GeanyDocument *doc = document_get_current();
 	gint width;


Modified: src/callbacks.h
121 lines changed, 61 insertions(+), 60 deletions(-)
===================================================================
@@ -22,87 +22,88 @@
 #ifndef GEANY_CALLBACKS_H
 #define GEANY_CALLBACKS_H 1
 
+#include "pluginexport.h"
 #include "gtkcompat.h"
 
 G_BEGIN_DECLS
 
 extern gboolean	ignore_callback;
 
-G_MODULE_EXPORT void on_new1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_new1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_save1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_save1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_save_as1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_save_as1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_quit1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_quit1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_open1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_open1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_save_all1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_save_all1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_close1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_close1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_close_all1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_close_all1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_replace_tabs_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_replace_tabs_activate(GtkMenuItem *menuitem, gpointer user_data);
 
 void on_toolbutton_search_clicked(GtkAction *action, gpointer user_data);
 
 gboolean toolbar_popup_menu(GtkWidget *widget, GdkEventButton *event, gpointer user_data);
 
-G_MODULE_EXPORT void on_undo1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_undo1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_redo1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_redo1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_cut1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_cut1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_copy1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_copy1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_paste1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_paste1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_delete1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_delete1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_zoom_in1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_zoom_in1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_zoom_out1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_zoom_out1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
 void on_toolbar_search_entry_changed(GtkAction *action, const gchar *text, gpointer user_data);
 
 void on_toolbar_search_entry_activate(GtkAction *action, const gchar *text, gpointer user_data);
 
-G_MODULE_EXPORT void on_toggle_case1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_toggle_case1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_find_usage1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_find_usage1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_preferences1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_preferences1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_normal_size1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_normal_size1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_show_color_chooser1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_show_color_chooser1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_find1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_find1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_find_next1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_find_next1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_find_previous1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_find_previous1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_find_nextsel1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_find_nextsel1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_find_prevsel1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_find_prevsel1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_replace1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_replace1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_find_in_files1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_find_in_files1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_toolbutton_reload_clicked(GtkAction *action, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_toolbutton_reload_clicked(GtkAction *action, gpointer user_data);
 
-G_MODULE_EXPORT void on_go_to_line_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_go_to_line_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_help1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_help1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
 void on_toolbutton_compile_clicked(GtkAction *action, gpointer user_data);
 
-G_MODULE_EXPORT void on_line_wrapping1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_line_wrapping1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
 
 void on_toolbutton_goto_entry_activate(GtkAction *action, const gchar *text, gpointer user_data);
 
@@ -110,63 +111,63 @@ void on_toolbutton_goto_clicked(GtkAction *action, gpointer user_data);
 
 void on_toolbutton_run_clicked(GtkAction *action, gpointer user_data);
 
-G_MODULE_EXPORT void on_menu_remove_indicators1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_remove_indicators1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_print1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_print1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_menu_select_all1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_select_all1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_menu_show_sidebar1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_show_sidebar1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_menu_comment_line1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_comment_line1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_menu_uncomment_line1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_uncomment_line1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_menu_increase_indent1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_increase_indent1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_menu_decrease_indent1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_decrease_indent1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_menu_toggle_line_commentation1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_toggle_line_commentation1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_next_message1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_next_message1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_project_new1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_project_new1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_project_open1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_project_open1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_project_close1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_project_close1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_project_properties1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_project_properties1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_menu_open_selected_file1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_open_selected_file1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_remove_markers1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_remove_markers1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_context_action1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_context_action1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_menu_toggle_all_additional_widgets1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_menu_toggle_all_additional_widgets1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
 void on_toolbutton_back_activate(GtkAction *action, gpointer user_data);
 
 void on_toolbutton_forward_activate(GtkAction *action, gpointer user_data);
 
-G_MODULE_EXPORT gboolean on_motion_event(GtkWidget *widget, GdkEventMotion *event, gpointer user_data);
+GEANY_EXPORT_SYMBOL gboolean on_motion_event(GtkWidget *widget, GdkEventMotion *event, gpointer user_data);
 
-G_MODULE_EXPORT gboolean on_escape_key_press_event(GtkWidget *widget, GdkEventKey *event, gpointer user_data);
+GEANY_EXPORT_SYMBOL gboolean on_escape_key_press_event(GtkWidget *widget, GdkEventKey *event, gpointer user_data);
 
-G_MODULE_EXPORT void on_line_breaking1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_line_breaking1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_replace_spaces_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_replace_spaces_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_previous_message1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_previous_message1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_close_other_documents1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_close_other_documents1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_find_document_usage1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_find_document_usage1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_send_selection_to_vte1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_send_selection_to_vte1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
-G_MODULE_EXPORT void on_plugin_preferences1_activate(GtkMenuItem *menuitem, gpointer user_data);
+GEANY_EXPORT_SYMBOL void on_plugin_preferences1_activate(GtkMenuItem *menuitem, gpointer user_data);
 
 G_END_DECLS
 


Modified: src/project.c
3 lines changed, 2 insertions(+), 1 deletions(-)
===================================================================
@@ -38,6 +38,7 @@
 #include "geanyobject.h"
 #include "keyfile.h"
 #include "main.h"
+#include "pluginexport.h"
 #include "projectprivate.h"
 #include "sidebar.h"
 #include "stash.h"
@@ -473,7 +474,7 @@ static void destroy_project(gboolean open_default)
 /* Shows the file chooser dialog when base path button is clicked
  * FIXME: this should be connected in Glade but 3.8.1 has a bug
  * where it won't pass any objects as user data (#588824). */
-G_MODULE_EXPORT void
+GEANY_EXPORT_SYMBOL void
 on_project_properties_base_path_button_clicked(GtkWidget *button,
 	GtkWidget *base_path_entry)
 {



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list