Hello community, here is the log from the commit of package feh for openSUSE:Factory checked in at 2018-02-27 16:59:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/feh (Old) and /work/SRC/openSUSE:Factory/.feh.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "feh" Tue Feb 27 16:59:44 2018 rev:21 rq:580354 version:2.24 Changes: -------- --- /work/SRC/openSUSE:Factory/feh/feh.changes 2018-02-18 11:45:59.797777167 +0100 +++ /work/SRC/openSUSE:Factory/.feh.new/feh.changes 2018-02-27 17:00:04.291459824 +0100 @@ -1,0 +2,8 @@ +Mon Feb 26 22:15:47 UTC 2018 - [email protected] + +- update to 2.24 + * Improve performance when using --{max,min}-dimension in + slideshow mode + * Fix crash when using %m format specifier in slideshow mode + +------------------------------------------------------------------- Old: ---- feh-2.23.2.tar.bz2 feh-2.23.2.tar.bz2.asc New: ---- feh-2.24.tar.bz2 feh-2.24.tar.bz2.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ feh.spec ++++++ --- /var/tmp/diff_new_pack.agX560/_old 2018-02-27 17:00:06.411383228 +0100 +++ /var/tmp/diff_new_pack.agX560/_new 2018-02-27 17:00:06.415383084 +0100 @@ -17,10 +17,10 @@ Name: feh -Version: 2.23.2 +Version: 2.24 Release: 0 Summary: X11 image viewer -License: MIT AND LGPL-2.0+ +License: MIT AND LGPL-2.0-or-later Group: Productivity/Graphics/Viewers Url: https://feh.finalrewind.org/ Source: https://feh.finalrewind.org/%{name}-%{version}.tar.bz2 ++++++ feh-2.23.2.tar.bz2 -> feh-2.24.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/feh-2.23.2/ChangeLog new/feh-2.24/ChangeLog --- old/feh-2.23.2/ChangeLog 2018-02-12 22:13:54.000000000 +0100 +++ new/feh-2.24/ChangeLog 2018-02-26 21:48:39.000000000 +0100 @@ -1,3 +1,12 @@ +Mon, 26 Feb 2018 21:41:38 +0100 Daniel Friesel <[email protected]> + +* Release v2.24 + * Improve performance when using --{max,min}-dimension in slideshow mode + (patch by ulteq) + * Fix crash when using %m format specifier in slideshow mode + (introduced in feh 2.23.1) + + Mon, 12 Feb 2018 22:11:55 +0100 Daniel Friesel <[email protected]> * Release v2.23.2 @@ -192,7 +201,7 @@ size which will not be updated when changing images (as was the case in feh < 2.15). This may or may not be fixed in the future. -Sat, 16 Apr 2016 18:32:38 +0200 Daniel Frisel <[email protected]> +Sat, 16 Apr 2016 18:32:38 +0200 Daniel Friesel <[email protected]> * Release v2.15.2 * Fix --keep-zoom-vp not keeping the viewport x/y offsets (broken by 2.15) @@ -764,7 +773,7 @@ malicious URLs containing shell metacharacters (but only if those URLs led to a valid file) * Don't add ?randomnumber to URLs when downloading them, it confuses some - servers and is not really neccessary in general + servers and is not really necessary in general Thu Jun 10 12:12:04 CEST 2010 Daniel Friesel <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/feh-2.23.2/config.mk new/feh-2.24/config.mk --- old/feh-2.23.2/config.mk 2018-02-12 22:13:54.000000000 +0100 +++ new/feh-2.24/config.mk 2018-02-26 21:48:39.000000000 +0100 @@ -1,5 +1,5 @@ PACKAGE ?= feh -VERSION ?= 2.23.2 +VERSION ?= 2.24 app ?= 0 cam ?= 0 @@ -79,7 +79,7 @@ MAN_EXIF = disabled endif -MAN_DATE ?= February 12, 2018 +MAN_DATE ?= February 26, 2018 # Uncomment this to use dmalloc #CFLAGS += -DWITH_DMALLOC diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/feh-2.23.2/src/feh.h new/feh-2.24/src/feh.h --- old/feh-2.23.2/src/feh.h 2018-02-12 22:13:54.000000000 +0100 +++ new/feh-2.24/src/feh.h 2018-02-26 21:48:39.000000000 +0100 @@ -133,6 +133,7 @@ void init_loadables_mode(void); void init_unloadables_mode(void); void feh_clean_exit(void); +int feh_should_ignore_image(Imlib_Image * im); int feh_load_image(Imlib_Image * im, feh_file * file); void show_mini_usage(void); void slideshow_change_image(winwidget winwid, int change, int render); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/feh-2.23.2/src/filelist.c new/feh-2.24/src/filelist.c --- old/feh-2.23.2/src/filelist.c 2018-02-12 22:13:54.000000000 +0100 +++ new/feh-2.24/src/filelist.c 2018-02-26 21:48:39.000000000 +0100 @@ -464,9 +464,17 @@ void feh_prepare_filelist(void) { - if (opt.list || opt.customlist || (opt.sort > SORT_MTIME) - || opt.preload || opt.min_width || opt.min_height - || (opt.max_width != UINT_MAX) || (opt.max_height != UINT_MAX)) { + /* + * list and customlist mode as well as the somewhat more fancy sort modes + * need access to file infos. Preloading them is also useful for + * list/customlist as --min-dimension/--max-dimension may filter images + * which should not be processed. + * Finally, if --min-dimension/--max-dimension (-> opt.filter_by_dimensions) + * is set and we're in thumbnail mode, we need to filter images first so + * we can create a properly sized thumbnail list. + */ + if (opt.list || opt.preload || opt.customlist || (opt.sort > SORT_MTIME) + || (opt.filter_by_dimensions && (opt.index || opt.collage || opt.thumbs || opt.bgmode))) { /* For these sort options, we have to preload images */ filelist = feh_file_info_preload(filelist); if (!gib_list_length(filelist)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/feh-2.23.2/src/imlib.c new/feh-2.24/src/imlib.c --- old/feh-2.23.2/src/imlib.c 2018-02-12 22:13:54.000000000 +0100 +++ new/feh-2.24/src/imlib.c 2018-02-26 21:48:39.000000000 +0100 @@ -139,6 +139,18 @@ return; } +int feh_should_ignore_image(Imlib_Image * im) +{ + if (opt.filter_by_dimensions) { + unsigned int w = gib_imlib_image_get_width(im); + unsigned int h = gib_imlib_image_get_height(im); + if (w < opt.min_width || w > opt.max_width || h < opt.min_height || h > opt.max_height) { + return 1; + } + } + return 0; +} + int feh_load_image_char(Imlib_Image * im, char *filename) { feh_file *file; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/feh-2.23.2/src/options.c new/feh-2.24/src/options.c --- old/feh-2.23.2/src/options.c 2018-02-12 22:13:54.000000000 +0100 +++ new/feh-2.24/src/options.c 2018-02-26 21:48:39.000000000 +0100 @@ -433,6 +433,7 @@ opt.debug = 1; break; case '<': + opt.filter_by_dimensions = 1; XParseGeometry(optarg, &discard, &discard, &opt.max_width, &opt.max_height); if (opt.max_width == 0) opt.max_width = UINT_MAX; @@ -440,6 +441,7 @@ opt.max_height = UINT_MAX; break; case '>': + opt.filter_by_dimensions = 1; XParseGeometry(optarg, &discard, &discard, &opt.min_width, &opt.min_height); break; case '.': diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/feh-2.23.2/src/options.h new/feh-2.24/src/options.h --- old/feh-2.23.2/src/options.h 2018-02-12 22:13:54.000000000 +0100 +++ new/feh-2.24/src/options.h 2018-02-26 21:48:39.000000000 +0100 @@ -75,6 +75,7 @@ unsigned char no_fehbg; unsigned char keep_zoom_vp; unsigned char insecure_ssl; + unsigned char filter_by_dimensions; char *output_file; char *output_dir; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/feh-2.23.2/src/slideshow.c new/feh-2.24/src/slideshow.c --- old/feh-2.23.2/src/slideshow.c 2018-02-12 22:13:54.000000000 +0100 +++ new/feh-2.24/src/slideshow.c 2018-02-26 21:48:39.000000000 +0100 @@ -49,7 +49,7 @@ opt.start_list_at); if (!opt.title) - opt.title = PACKAGE " [%u of %l] - %f", + opt.title = PACKAGE " [%u of %l] - %f"; mode = "slideshow"; for (; l; l = l->next) { @@ -360,16 +360,20 @@ tzoom = winwid->zoom; } - if ((winwidget_loadimage(winwid, FEH_FILE(current_file->data))) - != 0) { + if (winwidget_loadimage(winwid, FEH_FILE(current_file->data))) { + int w = gib_imlib_image_get_width(winwid->im); + int h = gib_imlib_image_get_height(winwid->im); + if (feh_should_ignore_image(winwid->im)) { + last = current_file; + continue; + } winwid->mode = MODE_NORMAL; winwid->file = current_file; - if ((winwid->im_w != gib_imlib_image_get_width(winwid->im)) - || (winwid->im_h != gib_imlib_image_get_height(winwid->im))) + if ((winwid->im_w != w) || (winwid->im_h != h)) winwid->had_resize = 1; winwidget_reset_image(winwid); - winwid->im_w = gib_imlib_image_get_width(winwid->im); - winwid->im_h = gib_imlib_image_get_height(winwid->im); + winwid->im_w = w; + winwid->im_h = h; if (opt.keep_zoom_vp) { /* put back in: */ winwid->mode = tmode; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/feh-2.23.2/src/winwidget.c new/feh-2.24/src/winwidget.c --- old/feh-2.23.2/src/winwidget.c 2018-02-12 22:13:54.000000000 +0100 +++ new/feh-2.24/src/winwidget.c 2018-02-26 21:48:39.000000000 +0100 @@ -115,7 +115,7 @@ ret->file = list; ret->type = type; - if (winwidget_loadimage(ret, file) == 0) { + if ((winwidget_loadimage(ret, file) == 0) || feh_should_ignore_image(ret->im)) { winwidget_destroy(ret); return(NULL); }
