Mercurial > projects > package-update-indicator
view pui-types.h.in @ 31:9905d4ae351c
Fix continuos loop of update checks if the refresh cache interval is 0
If the interval for refreshing the cache is set to 0 each check for available
updates refreshes the cache and causes an "updates-changed" signal to be
emitted after a short delay which in turn triggers another check for updates.
The "updates-changed" signal does not actually mean that the number of
available updates has changed but rather that the package metadata cache has
been invalidated. Fix this by blocking the "updates-changed" signal handler
from when a periodic or irregular check is started until 4 seconds after it has
finished. This is necessary since the signal will be delivered with a delay
after a transaction has been completed.
In addition prevent checks for updates triggered by the "updates-changed"
signal from refreshing the cache even the interval is 0 since the emission of
the signal implies that the cache has just been refreshed.
author | Guido Berhoerster <guido+pui@berhoerster.name> |
---|---|
date | Thu, 29 Aug 2019 13:48:47 +0200 |
parents | adba37525ee5 |
children |
line wrap: on
line source
/*** BEGIN file-header ***/ #ifndef PUI_TYPES_H #define PUI_TYPES_H #include <glib-object.h> G_BEGIN_DECLS /*** END file-header ***/ /*** BEGIN file-production ***/ /* enumerations from "@filename@" */ /*** END file-production ***/ /*** BEGIN value-header ***/ #define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type()) GType @enum_name@_get_type(void) G_GNUC_CONST; /*** END value-header ***/ /*** BEGIN file-tail ***/ gchar * pui_types_enum_to_string(GType, gint); G_END_DECLS #endif /* !PUI_TYPES_H */ /*** END file-tail ***/