From 52de223b0fb26467d1b7711050c67f1d686924eb Mon Sep 17 00:00:00 2001 From: Martin Wagner Date: Fri, 13 Nov 2020 19:06:01 +0100 Subject: [PATCH] do not hang on GLib error see: #14 --- bin/mpdevil | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bin/mpdevil b/bin/mpdevil index 2c88090..76634db 100755 --- a/bin/mpdevil +++ b/bin/mpdevil @@ -40,7 +40,7 @@ import dbus.service from dbus.mainloop.glib import DBusGMainLoop DBusGMainLoop(set_as_default=True) -VERSION="0.9.6" # sync with setup.py +VERSION="0.9.6-dev" # sync with setup.py COVER_REGEX=r"^\.?(album|cover|folder|front).*\.(gif|jpeg|jpg|png)$" @@ -1419,8 +1419,14 @@ class Cover(object): def get_pixbuf(self, size): if self.path is None: # fallback needed - self.path=Gtk.IconTheme.get_default().lookup_icon("media-optical", size, Gtk.IconLookupFlags.FORCE_SVG).get_filename() - return GdkPixbuf.Pixbuf.new_from_file_at_size(self.path, size, size) + path=Gtk.IconTheme.get_default().lookup_icon("media-optical", size, Gtk.IconLookupFlags.FORCE_SVG).get_filename() + return GdkPixbuf.Pixbuf.new_from_file_at_size(path, size, size) + else: + try: + return GdkPixbuf.Pixbuf.new_from_file_at_size(self.path, size, size) + except: # load fallback if cover can't be loaded (GLib: Couldn’t recognize the image file format for file...) + path=Gtk.IconTheme.get_default().lookup_icon("media-optical", size, Gtk.IconLookupFlags.FORCE_SVG).get_filename() + return GdkPixbuf.Pixbuf.new_from_file_at_size(path, size, size) ########### # browser #