Mercurial > geeqie
view src/remote.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 | 48c8e49b571c |
children | 3097880d7d95 |
line wrap: on
line source
/* * Geeqie * (C) 2004 John Ellis * Copyright (C) 2008 The Geeqie Team * * Author: John Ellis * * 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 REMOTE_H #define REMOTE_H typedef struct _RemoteConnection RemoteConnection; typedef void RemoteReadFunc(RemoteConnection *rc, const char *text, gpointer data); struct _RemoteConnection { gint server; int fd; gchar *path; gint channel_id; RemoteReadFunc *read_func; gpointer read_data; GList *clients; }; RemoteConnection *remote_server_open(const gchar *path); void remote_server_subscribe(RemoteConnection *rc, RemoteReadFunc *func, gpointer data); RemoteConnection *remote_client_open(const gchar *path); gint remote_client_send(RemoteConnection *rc, const gchar *text); void remote_close(RemoteConnection *rc); #endif