A bunch of changes
This commit is contained in:
@@ -36,18 +36,14 @@ from PySide6.QtGui import QImage, QImageReader, QImageIOHandler
|
||||
from constants import (
|
||||
APP_CONFIG, CACHE_PATH, CACHE_MAX_SIZE, CONFIG_DIR, DISK_CACHE_MAX_BYTES,
|
||||
IMAGE_EXTENSIONS, SEARCH_CMD, THUMBNAIL_SIZES, RATING_XATTR_NAME, XATTR_NAME,
|
||||
UITexts, SCANNER_SETTINGS_DEFAULTS
|
||||
UITexts, SCANNER_SETTINGS_DEFAULTS, HAVE_BAGHEERASEARCH_LIB
|
||||
)
|
||||
|
||||
from imageviewer import ImageViewer
|
||||
from metadatamanager import XattrManager
|
||||
|
||||
try:
|
||||
# Attempt to import bagheerasearch for direct integration
|
||||
if HAVE_BAGHEERASEARCH_LIB:
|
||||
from bagheera_search_lib import BagheeraSearcher
|
||||
HAVE_BAGHEERASEARCH_LIB = True
|
||||
except ImportError:
|
||||
HAVE_BAGHEERASEARCH_LIB = False
|
||||
|
||||
# Set up logging for better debugging
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -130,6 +126,10 @@ class CacheWriter(QThread):
|
||||
if not self._running:
|
||||
return
|
||||
|
||||
# Ensure we don't accept new items if stopping, especially when block=False
|
||||
if not self._running:
|
||||
return
|
||||
|
||||
# --- Soft Cleaning: Deduplication ---
|
||||
# Remove redundant pending updates for the same image/size (e.g.
|
||||
# rapid rotations)
|
||||
@@ -154,7 +154,7 @@ class CacheWriter(QThread):
|
||||
def stop(self):
|
||||
self._mutex.lock()
|
||||
self._running = False
|
||||
self._queue.clear()
|
||||
# Do not clear the queue here; let the run loop drain it to prevent data loss.
|
||||
self._condition_new_data.wakeAll()
|
||||
self._condition_space_available.wakeAll()
|
||||
self._mutex.unlock()
|
||||
|
||||
Reference in New Issue
Block a user