Mercurial > geeqie
view src/format_nikon.h @ 565:85b9cec260bc
Fix a bug occuring when using certain actions on a collection
item which is not in the selection.
Triggering it will either result in an assertion failure or a
segfault.
To reproduce:
- open a collection
- right-click on a non-selected image
- select Delete... menu entry (or Copy, Move, Rename, Properties...)
It results in the best case:
** ERROR **: file filelist.c: line 905 (file_data_ref): assertion failed: (fd->magick == 0x12345678)
or a pure segfault due to corrupted data.
collection_table_popup_file_list() has to return a list of filedata *
not a list of gchar *.
author | zas_ |
---|---|
date | Sat, 03 May 2008 16:58:17 +0000 |
parents | 116346636d42 |
children | 4fe8f9656107 |
line wrap: on
line source
/* * Geeqie * (C) 2005 John Ellis * Copyright (C) 2008 The Geeqie Team * * This software is released under the GNU General Public License (GNU GPL). * Please read the included file COPYING for more information. * This software comes with no warranty of any kind, use at your own risk! */ #ifndef __FORMAT_NIKON_H #define __FORMAT_NIKON_H #include "exif-int.h" gint format_nikon_raw(unsigned char *data, const guint len, guint *image_offset, guint *exif_offset); #define FORMAT_RAW_NIKON { "nef", \ FORMAT_RAW_MATCH_TIFF_MAKE, 0, "NIKON CORPORATION", 17, \ FORMAT_RAW_EXIF_TIFF, NULL, \ "Nikon raw", format_nikon_raw } /* If your format is basically just TIFF with an embedded jpeg, * then avoid duplicating code and just stick it here and use the existing nikon parse. */ #define FORMAT_RAW_PENTAX { "pef", \ FORMAT_RAW_MATCH_TIFF_MAKE, 0, "PENTAX Corporation", 18, \ FORMAT_RAW_EXIF_TIFF, NULL, \ "Pentax raw", format_nikon_raw } #define FORMAT_RAW_SAMSUNG { "pef", \ FORMAT_RAW_MATCH_TIFF_MAKE, 0, "SAMSUNG TECHWIN", 15, \ FORMAT_RAW_EXIF_TIFF, NULL, \ "Samsung raw", format_nikon_raw } gint format_nikon_makernote(ExifData *exif, unsigned char *tiff, guint offset, guint size, ExifByteOrder bo); #define FORMAT_EXIF_NIKON { FORMAT_EXIF_MATCH_MAKERNOTE, "Nikon\x00", 6, "Nikon", format_nikon_makernote }, \ { FORMAT_EXIF_MATCH_MAKE, "NIKON", 5, "Nikon", format_nikon_makernote } #endif