From f8886970f5e74b48b880225e9b69052c692363ac Mon Sep 17 00:00:00 2001 From: wheaney <42350981+wheaney@users.noreply.github.com> Date: Thu, 25 Jul 2024 13:27:06 -0700 Subject: [PATCH] Fix issue with tracking of async requests --- bin/package_gnome | 7 +++++-- gnome/src/monitormanager.js | 3 ++- ui/bin/package | 8 ++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/bin/package_gnome b/bin/package_gnome index b6c7aa3..1b3d290 100755 --- a/bin/package_gnome +++ b/bin/package_gnome @@ -73,8 +73,11 @@ pushd gnome/src GNOME_MANIFEST_LINE=$(find -L . -type f ! -name "*.compiled" -exec sha256sum {} \; | sort | sha256sum | sed 's/ .*//') popd -ui/bin/package $ARCH -cp ui/out/com.xronlinux.BreezyDesktop-$ARCH.flatpak $PACKAGE_DIR/com.xronlinux.BreezyDesktop.flatpak +FLATPAK_BUILD_ARTIFACT=ui/out/com.xronlinux.BreezyDesktop-$ARCH.flatpak +if [ ! -e "$FLATPAK_BUILD_ARTIFACT" ] || [ "$1" == "--rebuild-flatpak" ]; then + ui/bin/package $ARCH +fi +cp $FLATPAK_BUILD_ARTIFACT $PACKAGE_DIR/com.xronlinux.BreezyDesktop.flatpak # create manifest file for verifying installed file checksums against the originally packaged versions # include any file that doesn't get modified during setup (e.g. vkBasalt.json files) diff --git a/gnome/src/monitormanager.js b/gnome/src/monitormanager.js index 3d4a531..86281e1 100644 --- a/gnome/src/monitormanager.js +++ b/gnome/src/monitormanager.js @@ -360,6 +360,7 @@ export const MonitorManager = GObject.registerClass({ } this._asyncRequestsInFlight++; getMonitorConfig(this._displayConfigProxy, ((result, error) => { + this._asyncRequestsInFlight--; if (error) { Globals.logger.log(error); return; @@ -384,7 +385,7 @@ export const MonitorManager = GObject.registerClass({ } this._monitorProperties = monitorProperties; if (!!this._changeHookFn) { - if (--this._asyncRequestsInFlight === 0) { + if (this._asyncRequestsInFlight === 0) { this._changeHookFn(); } else { Globals.logger.log_debug(`MonitorManager _on_monitors_change: ${this._asyncRequestsInFlight} requests still pending, skipping change hook`); diff --git a/ui/bin/package b/ui/bin/package index b257757..6dbbae2 100755 --- a/ui/bin/package +++ b/ui/bin/package @@ -21,11 +21,15 @@ SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) TMP_DIR=$(mktemp -d --tmpdir=$SCRIPT_DIR/.. -t .breezy-ui-flatpak-XXXXXXXXXX) OUT_DIR=$SCRIPT_DIR/../out -rm -rf $OUT_DIR mkdir -p $OUT_DIR +BUILD_ARTIFACT=$OUT_DIR/com.xronlinux.BreezyDesktop-$ARCH.flatpak +if [ -e "$BUILD_ARTIFACT" ]; then + rm $BUILD_ARTIFACT +fi + flatpak-builder --arch $ARCH --disable-rofiles-fuse --disable-cache --force-clean --delete-build-dirs --user $TMP_DIR/build $SCRIPT_DIR/../com.xronlinux.BreezyDesktop.json flatpak build-export --arch $ARCH $TMP_DIR/export $TMP_DIR/build -flatpak build-bundle --arch $ARCH $TMP_DIR/export $OUT_DIR/com.xronlinux.BreezyDesktop-$ARCH.flatpak com.xronlinux.BreezyDesktop --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo +flatpak build-bundle --arch $ARCH $TMP_DIR/export $BUILD_ARTIFACT com.xronlinux.BreezyDesktop --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo rm -rf "$TMP_DIR" \ No newline at end of file