Commit 2133ae4
Add debugging symbols
Changed files (6)
modifiedlibbirdfont/ExportCallback.valamodifiedlibbirdfont/FileTab.valamodifiedlibbirdfont/LoadCallback.valamodifiedlibbirdfont/MenuTab.valamodifiedlibbirdfont/SaveCallback.valamodifiedscripts/windows_build.py
Diff
@@ -24,7 +24,7 @@ public class ExportCallback : GLib.Object { public void export_fonts_in_background () { Font font = BirdFont.get_current_font (); if (font.font_file == null) {- MenuTab.save_callback = new SaveCallback ();+ MenuTab.set_save_callback (new SaveCallback ()); MenuTab.save_callback.file_saved.connect (() => { MainWindow.native_window.export_font (); });@@ -85,7 +85,7 @@ public class FileTab : FontDisplay { return; } - MenuTab.save_callback = new SaveCallback ();+ MenuTab.set_save_callback (new SaveCallback ()); MenuTab.save_callback.file_saved.connect (() => { dialog.signal_discard (); });@@ -40,7 +40,7 @@ public class LoadCallback : GLib.Object { dialog.signal_save.connect (() => { MainWindow.close_all_tabs ();- MenuTab.save_callback = new SaveCallback ();+ MenuTab.set_save_callback (new SaveCallback ()); MenuTab.save_callback.file_saved.connect (() => { load_new_font (); });@@ -34,12 +34,22 @@ public class MenuTab : FontDisplay { public MenuTab () { save_callback = new SaveCallback ();+ save_callback.is_done = true;+ load_callback = new LoadCallback (); export_callback = new ExportCallback (); suppress_event = false; } + public static void set_save_callback (SaveCallback c) {+ if (!save_callback.is_done) {+ warning ("Prevoius save command has not finished");+ }+ + save_callback = c;+ }+ public static void start_background_thread () { if (!set_suppress_event (true)) { warning ("suppressed event");@@ -206,23 +216,23 @@ public class MenuTab : FontDisplay { } public static void quit () {- SaveDialogListener dialog = new SaveDialogListener ();- Font font = BirdFont.get_current_font ();- - Preferences.save ();- if (suppress_event) { warn_if_test ("Event suppressed"); return; }++ SaveDialogListener dialog = new SaveDialogListener ();+ Font font = BirdFont.get_current_font (); + Preferences.save ();+ dialog.signal_discard.connect (() => { ensure_main_loop_is_empty (); MainWindow.native_window.quit (); }); dialog.signal_save.connect (() => {- MenuTab.save_callback = new SaveCallback ();+ MenuTab.set_save_callback (new SaveCallback ()); MenuTab.save_callback.file_saved.connect (() => { ensure_main_loop_is_empty (); MainWindow.native_window.quit ();@@ -348,7 +358,7 @@ public class MenuTab : FontDisplay { MainWindow.get_tab_bar ().add_unique_tab (new KerningList ()); } - private static void ensure_main_loop_is_empty () {+ public static void ensure_main_loop_is_empty () { unowned MainContext context; bool acquired; @@ -367,12 +377,12 @@ public class MenuTab : FontDisplay { } public static void save_as () {- MenuTab.save_callback = new SaveCallback ();+ MenuTab.set_save_callback (new SaveCallback ()); MenuTab.save_callback.save_as(); } public static void save () {- MenuTab.save_callback = new SaveCallback ();+ MenuTab.set_save_callback (new SaveCallback ()); MenuTab.save_callback.save (); } @@ -17,8 +17,12 @@ namespace BirdFont { public class SaveCallback : GLib.Object { public signal void file_saved ();+ public bool is_done = false; public SaveCallback () { + file_saved.connect (() => {+ is_done = true;+ }); } public void save_as () {@@ -16,7 +16,7 @@ prefix = "" valac = "valac" valaflags = "" cc = "gcc"-cflags = "./build/icon.res -Wl,-subsystem,windows "+cflags = "-g ./build/icon.res -Wl,-subsystem,windows " ldflags = "" library_cflags = "-Wl,-subsystem,windows " library_ldflags= "";