From 865d80d9027832b55c41b71b91838b22ec5f6e88 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Tue, 28 Mar 2023 10:55:40 -0300 Subject: [PATCH] Fixing win32 build, validating system settings on startup. --- Makefile.in | 3 +-- configure.ac | 2 +- src/objects/application/application.c | 28 ++++++++++++++++++++++++++-- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/Makefile.in b/Makefile.in index 5383deb..805aca8 100644 --- a/Makefile.in +++ b/Makefile.in @@ -29,7 +29,7 @@ datarootdir=@datarootdir@ localedir=@localedir@ docdir=@docdir@ sysconfdir=@sysconfdir@ -datadir=$(datarootdir)/@PRODUCT_NAME@ +datadir="$(datarootdir)/@PRODUCT_NAME@" #---[ Configuration ]-------------------------------------------------------------------- @@ -97,7 +97,6 @@ CFLAGS= \ -Isrc/include \ -I$(srcdir)/src/include \ -DBUILD_DATE=`date +%Y%m%d` \ - -DDATADIR=$(datadir) \ @LIBV3270_CFLAGS@ \ @GTK_CFLAGS@ diff --git a/configure.ac b/configure.ac index b56c5e6..25df7e1 100644 --- a/configure.ac +++ b/configure.ac @@ -107,7 +107,7 @@ case "$host" in app_cv_osname="linux" app_rls_ldflags="" - CFLAGS="$CFLAGS -pthread -DLIBDIR=\$(libdir)" + CFLAGS="$CFLAGS -pthread -DLIBDIR=\$(libdir) -DDATADIR=\$(datadir)" LDFLAGS="$LDFLAGS -pthread" AC_SUBST(DEFAULT_UI_STYLE,0) diff --git a/src/objects/application/application.c b/src/objects/application/application.c index 50169de..eccf58c 100644 --- a/src/objects/application/application.c +++ b/src/objects/application/application.c @@ -430,8 +430,6 @@ void startup(GApplication *application) { G_APPLICATION_CLASS(pw3270Application_parent_class)->startup(application); -// GSettings *settings = pw3270_application_get_settings(application); - // // Common actions // @@ -525,6 +523,32 @@ void activate(GApplication *application) { GtkWidget * window = pw3270_application_window_new(GTK_APPLICATION(application),NULL); + if(!PW3270_APPLICATION(application)->settings) { + + GtkWidget * dialog = gtk_message_dialog_new_with_markup( + NULL, + 0, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_CLOSE, + _("Initialization has failed") + ); + + gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),_("Unable to initialize settings. Application may crash in unexpected ways")); + + gtk_window_set_title(GTK_WINDOW(dialog),_("System settings error")); + + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); + + gtk_widget_show_all(dialog); + + gtk_dialog_run(GTK_DIALOG(dialog)); + + gtk_widget_destroy(dialog); + + g_application_quit(G_APPLICATION(application)); + + } + // Present the new window pw3270_window_set_current_page(window,0); gtk_window_present(GTK_WINDOW(window)); -- libgit2 0.21.2