From 9ab3dcba028a5cd09ee929aeddddf060b4941556 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 16 Aug 2021 19:39:02 -0300 Subject: [PATCH] Fixing windows version. --- src/objects/application/application.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------ win/pack.sh | 20 ++++++-------------- win/pw3270.nsi.in | 6 +++--- 3 files changed, 65 insertions(+), 35 deletions(-) diff --git a/src/objects/application/application.c b/src/objects/application/application.c index 71df2e6..7fe0992 100644 --- a/src/objects/application/application.c +++ b/src/objects/application/application.c @@ -539,30 +539,68 @@ GSettings * pw3270_application_settings_new() { GSettings *settings = NULL; -#ifdef DEBUG - GError * error = NULL; - GSettingsSchemaSource * source = - g_settings_schema_source_new_from_directory( - ".", - NULL, - TRUE, - &error - ); +#if defined(DEBUG) + { + GError * error = NULL; + GSettingsSchemaSource * source = + g_settings_schema_source_new_from_directory( + ".", + NULL, + TRUE, + &error + ); + + g_assert_no_error(error); + + GSettingsSchema * schema = + g_settings_schema_source_lookup( + source, + "br.com.bb." G_STRINGIFY(PRODUCT_NAME), + TRUE); - g_assert_no_error(error); + debug("schema %s=%p","br.com.bb." PACKAGE_NAME,schema); + + settings = g_settings_new_full(schema, NULL, NULL); + + g_settings_schema_source_unref(source); + } +#elif defined(_WIN32) + { + lib3270_autoptr(char) filename = lib3270_build_filename("gschemas.compiled",NULL); - GSettingsSchema * schema = - g_settings_schema_source_lookup( - source, - "br.com.bb." G_STRINGIFY(PRODUCT_NAME), - TRUE); + if(g_file_test(filename,G_FILE_TEST_IS_REGULAR)) { - debug("schema %s=%p","br.com.bb." PACKAGE_NAME,schema); + GError * error = NULL; + g_autofree gchar *dirname = g_path_get_dirname(filename); - settings = g_settings_new_full(schema, NULL, NULL); + GSettingsSchemaSource * source = + g_settings_schema_source_new_from_directory( + dirname, + NULL, + TRUE, + &error + ); - g_settings_schema_source_unref(source); + g_assert_no_error(error); + GSettingsSchema * schema = + g_settings_schema_source_lookup( + source, + "br.com.bb." G_STRINGIFY(PRODUCT_NAME), + TRUE); + + debug("schema %s=%p","br.com.bb." PACKAGE_NAME,schema); + + settings = g_settings_new_full(schema, NULL, NULL); + + g_settings_schema_source_unref(source); + + } else { + + settings = g_settings_new("br.com.bb." G_STRINGIFY(PRODUCT_NAME)); + + } + } #else settings = g_settings_new("br.com.bb." G_STRINGIFY(PRODUCT_NAME)); diff --git a/win/pack.sh b/win/pack.sh index 46e1569..e1d715a 100755 --- a/win/pack.sh +++ b/win/pack.sh @@ -541,29 +541,21 @@ makeRuntime() echo -e "\e]2;Building runtime for ${ARCH}\a" echo "Building runtime for ${ARCH}" - rm -fr ${WORKDIR}/build/${ARCH}/runtime - mkdir -p ${WORKDIR}/build/${ARCH}/runtime - mkdir -p ${WORKDIR}/build/${ARCH}/runtime//share/glib-2.0/schemas - - cp \ - ${WORKDIR}/build/${ARCH}/share/glib-2.0/schemas/*.gschema.xml \ - ${WORKDIR}/build/${ARCH}/runtime/share/glib-2.0/schemas - - if [ "$?" != "0" ]; then - failed "Error on schema copy" - fi - + mkdir -p "${WORKDIR}/build/${ARCH}/runtime" + for SCRIPT in ${WORKDIR}/build/${ARCH}/*-makeruntime.sh do chmod +x ${SCRIPT} cd ${WORKDIR}/build/${ARCH} - ${SCRIPT} --output-dir="${WORKDIR}/build/${ARCH}/runtime" --bindir="${WORKDIR}/build/${ARCH}" + ${SCRIPT} \ + --output-dir="${WORKDIR}/build/${ARCH}/runtime" \ + --bindir="${WORKDIR}/build/${ARCH}" if [ "$?" != "0" ]; then failed "Error on ${SCRIPT}" fi done - + done } diff --git a/win/pw3270.nsi.in b/win/pw3270.nsi.in index ffee3d0..9b49b9f 100644 --- a/win/pw3270.nsi.in +++ b/win/pw3270.nsi.in @@ -103,8 +103,8 @@ SubSection "@PRODUCT_NAME@" SecMain # Binary files file "/oname=$INSTDIR\@PRODUCT_NAME@.exe" "bin\@PRODUCT_NAME@.exe" file "/oname=$INSTDIR\@PRODUCT_NAME@.ico" "bin\@PRODUCT_NAME@.ico" - file "/oname=$INSTDIR\lib@LIBRARY_NAME@.dll" "bin\lib@LIBRARY_NAME@.dll" - file "/oname=$INSTDIR\libv3270.dll" "bin\libv3270.dll" + file "/oname=$INSTDIR\lib@LIBRARY_NAME@.dll" "bin\lib@LIBRARY_NAME@.dll" + file "/oname=$INSTDIR\libv3270.dll" "bin\libv3270.dll" # Register file association @@ -122,7 +122,7 @@ SubSection "@PRODUCT_NAME@" SecMain # Schema CreateDirectory "$INSTDIR\schemas" file "/oname=$INSTDIR\schemas\@PRODUCT_NAME@-application.gschema.xml" "share\glib-2.0\schemas\pw3270-application.gschema.xml" - file "/oname=$INSTDIR\schemas\@PRODUCT_NAME@-window.gschema.xml" "share\glib-2.0\schemas\pw3270-window.gschema.xml" + file "/oname=$INSTDIR\schemas\@PRODUCT_NAME@-window.gmasma.xml" "share\glib-2.0\schemas\pw3270-window.gschema.xml" # Configuration files file "/oname=$INSTDIR\colors.conf" "share\@PRODUCT_NAME@\colors.conf" -- libgit2 0.21.2