1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
$NetBSD: patch-ab,v 1.3 2007/01/30 16:33:59 joerg Exp $
--- src/gtkam-delete.c.orig 2007-01-30 14:51:30.000000000 +0000
+++ src/gtkam-delete.c
@@ -170,16 +170,25 @@ delete_all (GtkamDelete *delete, GtkamCa
{
GtkWidget *d, *s;
int result, r1, r2;
- CameraList l1, l2;
+ CameraList *l1, *l2;
const char *name;
GtkamDeleteAllDeletedData add;
GtkamDeleteFileDeletedData fdd;
+ result = gp_list_new(&l1);
+ if (result < GP_OK)
+ return FALSE;
+ result = gp_list_new(&l2);
+ if (result < GP_OK) {
+ gp_list_free(l1);
+ return FALSE;
+ }
+
s = gtkam_status_new (_("Deleting all files in '%s'..."), folder);
gtk_widget_show (s);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (delete)->vbox), s,
FALSE, FALSE, 0);
- r1 = gp_camera_folder_list_files (camera->camera, folder, &l1, NULL);
+ r1 = gp_camera_folder_list_files (camera->camera, folder, l1, NULL);
result = gp_camera_folder_delete_all (camera->camera, folder,
GTKAM_STATUS (s)->context->context);
switch (result) {
@@ -189,9 +198,13 @@ delete_all (GtkamDelete *delete, GtkamCa
g_signal_emit (G_OBJECT (delete),
signals[ALL_DELETED], 0, &add);
gtk_object_destroy (GTK_OBJECT (s));
+ gp_list_free(l1);
+ gp_list_free(l2);
return (TRUE);
case GP_ERROR_CANCEL:
gtk_object_destroy (GTK_OBJECT (s));
+ gp_list_free(l1);
+ gp_list_free(l2);
return (TRUE);
default:
d = gtkam_error_new (result, GTKAM_STATUS (s)->context,
@@ -202,11 +215,11 @@ delete_all (GtkamDelete *delete, GtkamCa
/* See what files have been deleted */
r2 = gp_camera_folder_list_files (camera->camera, folder,
- &l2, NULL);
+ l2, NULL);
if ((r1 == GP_OK) && (r2 == GP_OK)) {
- for (r1 = 0; r1 < gp_list_count (&l1); r1++) {
- gp_list_get_name (&l1, r1, &name);
- if (gp_list_lookup_name (&l2, name) >= 0) {
+ for (r1 = 0; r1 < gp_list_count (l1); r1++) {
+ gp_list_get_name (l1, r1, &name);
+ if (gp_list_lookup_name (l2, name) >= 0) {
fdd.camera = camera;
fdd.folder = folder;
fdd.name = name;
@@ -216,6 +229,8 @@ delete_all (GtkamDelete *delete, GtkamCa
}
}
}
+ gp_list_free(l1);
+ gp_list_free(l2);
return (FALSE);
}
}
|