Commit graph

122 commits

Author SHA1 Message Date
Bert Münnich d3a70a285d Revised error handling
- Functions warn() and die() replaced by GNU-like error(3) function
- Register cleanup() with atexit(3)
- Functions called by cleanup() are marked with CLEANUP and are not allowed to
  call exit(3)
2015-10-28 23:03:37 +01:00
Bert Münnich 851e4288c1 Prefix safe allocation functions with 'e' instead of 's_' 2015-10-28 22:29:01 +01:00
Bert Münnich e574a6d0dd Removed feature test macro definitions from source files 2015-10-28 21:37:45 +01:00
Bert Münnich e0e96977b3 Removed overcautious parameter checks 2015-10-28 21:01:24 +01:00
Bert Münnich d8114e841c Thumbnail cache file format depending on existance of alpha layer
Use PNG if image has alpha layer, JPG if not. Fixes issue #209
2015-07-22 21:08:00 +02:00
Bert Münnich 47af0dd7b5 Cache out of view thumbnails in the background 2015-01-04 21:24:43 +01:00
Bert Münnich 9b9294bae6 Use bit-field for boolean flags in fileinfo struct 2015-01-04 21:24:43 +01:00
Bert Münnich ed030fe4d3 Enforced thumbnail reloading after key handler 2014-11-27 22:24:18 +01:00
Bert Münnich 728a2d931f Limit thumbnail selection border width to 4px 2014-11-27 22:23:14 +01:00
Bert Münnich d154b9826f Do not cache thumbnails, which are smaller than the maximum size 2014-10-31 10:41:33 +01:00
Bert Münnich eb5feb4585 Discard cached & EXIF thumbnails, which are smaller than the configured maximum size 2014-10-31 10:41:30 +01:00
Bert Münnich f5f49e7a9d Fixed leakage of resources allocated by EXIF library 2014-10-31 10:37:35 +01:00
Bert Münnich 25077ac764 Fixed segfault when run with -c 2014-10-29 14:20:54 +01:00
Bert Münnich 93e2a757d4 Do not print could-not-open-warnings for files found by directory traversal 2014-10-24 11:14:01 +02:00
Bert Münnich ddd028eb3e Unified file count variable for image & thumbnail mode 2014-09-30 21:54:17 +02:00
Bert Münnich b4096c59e4 Set JPEG quality for thumbnail cache files 2014-09-29 14:06:24 +02:00
Bert Münnich 390d771e70 Fixed thumbnail creation for files with big aspect ratio factor; fixes issue #175 2014-09-29 14:05:04 +02:00
Bert Münnich 0e4db69ff5 Scale thumbnail selection border width with thumbnail size 2014-09-29 09:36:43 +02:00
Bert Münnich 39671a149c Moved thumbnail sizes array to config.def.h 2014-09-29 09:02:29 +02:00
Bert Münnich 8fa7247f69 Refactored thumbnail size dependent calculations 2014-09-29 08:47:01 +02:00
Bert Münnich 7b91e10f22 Added thumbnail zooming...
- Key mappings +/- are now general commands
- Use JPG as thumbnail cache file format instead of PNG
- Fixes issue #161
2014-09-28 00:28:50 +02:00
Bert Münnich b2dbd2fed3 Changed image mark in thumbnail view to small rectangle 2014-09-27 22:05:21 +02:00
Bert Münnich eaa269b6cb Revised thumbnail loading...
- Only load the thumbnails that are currently visible in the window
- Unload thumbnails that are leaving the visible area
- Much less memory needed, but scrolling is now slower
- This also unintentionally fixes issue #86
2014-09-26 10:31:03 +02:00
Markus Elfring 0f6cb93a09 Bug #165: Deletion of unnecessary null pointer checks
The function "free" performs input parameter validation.
http://pubs.opengroup.org/onlinepubs/9699919799/functions/free.html

It is therefore not needed to check a passed pointer before this function call.
A corresponding update suggestion was generated by the software "Coccinelle"
from the following semantic patch approach.
http://coccinelle.lip6.fr/

@Remove_unnecessary_pointer_checks1@
expression x;
@@
-if (x != \(0 \| NULL\))
    free(x);

@Remove_unnecessary_pointer_checks2@
expression x;
@@
-if (x != \(0 \| NULL\)) {
    free(x);
    x = \(0 \| NULL\);
-}

@Remove_unnecessary_pointer_checks3@
expression a, b;
@@
-if (a != \(0 \| NULL\) && b != \(0 \| NULL\))
+if (a)
    free(b);

@Remove_unnecessary_pointer_checks4@
expression a, b;
@@
-if (a != \(0 \| NULL\) && b != \(0 \| NULL\)) {
+if (a) {
    free(b);
    b = \(0 \| NULL\);
 }

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
2014-08-22 19:24:08 +02:00
Bert Münnich 056624548a Beautified thumbnail marks and selection border 2014-08-18 15:42:10 +02:00
Bert Münnich fe3a1e326f Further simplified thumbnail marks 2014-08-18 12:45:32 +02:00
Bert Münnich d0ba2c585d Simplified thumbnail selection and marks 2014-08-17 23:01:39 +02:00
Bert Münnich e49d38d6f9 Fixed wrong thumbnail-to-file mappings caused by file deletions 2014-08-16 22:21:51 +02:00
Bert Münnich e267dc7793 Pass marked files to external key handler in thumbnail mode; fixes issue #135 2014-08-16 21:49:46 +02:00
Bert Münnich 5b01c15176 Unified file index variable for image & thumbnail mode 2014-08-16 21:49:45 +02:00
Bert Münnich 61f61cae5f Generalized thumbnail loading, allows easier reloading of thumbnails later on 2014-08-16 21:48:52 +02:00
Bert Münnich bb6721549b Overhauled window drawing, yet again; fixes issue #155
- Buffer for window content is bigger than the window, minimizes artifacts
  when window is resized
- Back to using XSetWindowBackgroundPixmap() instead of XCopyArea(),
  no need to handle exposure events; X server can show gray background directly
  after resize event before sxiv redraws the window contents
2014-07-28 20:36:32 +02:00
Bert Münnich 5cfae63620 Create thumbnail cache dir automatically 2014-06-10 23:15:04 +02:00
Bert Münnich cd02f2dd86 Small fix for thumbnail cropping 2014-06-10 21:28:10 +02:00
Bert Münnich d26f39914e Use thumbnails in EXIF tags; requirement for libexif is back 2014-06-09 22:59:49 +02:00
Bert Münnich e685859a30 Use a checkerboard background for alpha layer; fixes issue #138 2014-04-06 22:47:42 +02:00
Bert Münnich 304fd382db Adhere to XDG Base Directory Specification; fixes issue #124 2014-01-11 22:47:41 +01:00
Bert Münnich 99dfd14919 Fixed Imlib file handle type, issue #117 2013-12-13 13:04:45 +01:00
Bert Münnich 38bc23405d Highlight edges of marked images in thumbnail mode 2013-11-14 14:37:08 +01:00
Bert Münnich 26a624a543 Added options for anti-alias & alpha layer coloring to config.def.h
Also removed now obsolete -p command line option; fixes issue #98
2013-08-22 12:59:05 +02:00
Bert Münnich 08ae25da22 Refactored function definitions to use dangling brace 2013-02-08 22:05:31 +01:00
Bert Münnich 6d3bbc6d5e Updated/corrected license header 2013-02-08 21:52:41 +01:00
Bert Münnich b6a6c260e1 Moved thumbnail cache to ~/.sxiv/cache/ 2013-01-12 23:40:16 +01:00
Bert Münnich 5b6467913c Made remote changes adhere to code style 2012-07-15 18:52:30 +02:00
baskerville c330b55de4 handle count prefix in thumbnail movements 2012-07-15 10:30:58 +02:00
Bert Münnich 72071d5e9d Fixed mem-leak in tns_init/tns_free 2012-05-13 22:01:09 +02:00
Bert Münnich edd016945a Fixed it_scroll_move(DIR_DOWN) in thumb mode for last line 2012-03-16 20:56:10 +01:00
Bert Münnich 3238ef6bf6 Fixed issue #41, added WIN_FS_COLOR to config.h 2012-03-02 19:42:14 +01:00
Bert Münnich d407dd65d5 Already in the year 2012 2012-02-15 19:16:24 +01:00
Bert Münnich 691c6d7e7e Added own exif tag handling in files exif.[ch] 2012-02-15 19:13:44 +01:00