diff --git a/beetsplug/thumbnails.py b/beetsplug/thumbnails.py index 3f88248e0..44ffd12de 100644 --- a/beetsplug/thumbnails.py +++ b/beetsplug/thumbnails.py @@ -246,7 +246,7 @@ class GioURI(URIGetter): if self.available: self.libgio.g_type_init() # for glib < 2.36 - self.libgio.g_file_get_uri.argtypes = [ctypes.c_char_p] + self.libgio.g_file_new_for_path.argtypes = [ctypes.c_char_p] self.libgio.g_file_new_for_path.restype = ctypes.c_void_p self.libgio.g_file_get_uri.argtypes = [ctypes.c_void_p] diff --git a/docs/changelog.rst b/docs/changelog.rst index 88d87e32f..183fa006e 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -24,6 +24,9 @@ New features: Bug fixes: +* :doc:`plugins/thumbnails`: Fix API call to GIO on big endian architectures + (like s390x) in thumbnails plugin. + :bug:`5708` * :doc:`plugins/listenbrainz`: Fix rST formatting for URLs of Listenbrainz API Key documentation and config.yaml. * :doc:`plugins/listenbrainz`: Fix ``UnboundLocalError`` in cases where 'mbid' is not defined. * :doc:`plugins/fetchart`: Fix fetchart bug where a tempfile could not be deleted due to never being diff --git a/test/plugins/test_thumbnails.py b/test/plugins/test_thumbnails.py index 3eb36cd25..00cd545d4 100644 --- a/test/plugins/test_thumbnails.py +++ b/test/plugins/test_thumbnails.py @@ -265,7 +265,10 @@ class ThumbnailsTest(BeetsTestCase): if not gio.available: self.skipTest("GIO library not found") - assert gio.uri("/foo") == "file:///" # silent fail + import ctypes + + with pytest.raises(ctypes.ArgumentError): + gio.uri("/foo") assert gio.uri(b"/foo") == "file:///foo" assert gio.uri(b"/foo!") == "file:///foo!" assert (