summarylogtreecommitdiffstats
path: root/various-fixes.patch
blob: 9ec743cf060106c462b3b8787eae1eb9234d10e7 (plain)
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
diff -Naur gwget-1.0.4.orig/src/gwget-application.c gwget-1.0.4/src/gwget-application.c
--- gwget-1.0.4.orig/src/gwget-application.c	2018-01-19 11:03:01.897778000 +0100
+++ gwget-1.0.4/src/gwget-application.c	2018-01-19 11:14:58.065852512 +0100
@@ -103,8 +103,9 @@
 
 	gwgetdata = gwget_data_new ((gchar *)url);
 
-	gwget_data_add_download(gwgetdata);
-	gwget_data_start_download(gwgetdata);
+	if (gwget_data_add_download(gwgetdata)) {
+		gwget_data_start_download(gwgetdata);
+	}
 
 	return TRUE;
 }
@@ -126,8 +127,9 @@
         	gwgetdata->dir = gwget_pref.download_dir;
         }
 	
-	gwget_data_add_download(gwgetdata);
-	gwget_data_start_download(gwgetdata);
+	if (gwget_data_add_download(gwgetdata)) {
+		gwget_data_start_download(gwgetdata);
+	}
 
 	return TRUE;
 }
diff -Naur gwget-1.0.4.orig/src/gwget_data.c gwget-1.0.4/src/gwget_data.c
--- gwget-1.0.4.orig/src/gwget_data.c	2018-01-19 11:03:01.907778000 +0100
+++ gwget-1.0.4/src/gwget_data.c	2018-01-19 11:41:09.319442608 +0100
@@ -540,7 +540,12 @@
 	if (length == 0) {
 		dir = gwget_pref.download_dir;
 	}
-	
+
+	length = strlen (dir);
+	if (length == 0) {
+		dir = g_get_home_dir();
+	}
+
 	/* Add a trailing '/' unless already present */
 	length = strlen (dir);
 	if (dir[length - 1] == '/')
@@ -682,7 +687,7 @@
 }
 
 /* Add a gwgetdata to the main window */
-void 
+gboolean 
 gwget_data_add_download(GwgetData *gwgetdata)
 {
 	gint response;
@@ -692,7 +697,7 @@
 	if (check_url_already_exists(gwgetdata->url)) {
 		run_dialog_information(_("Unable to add this download"),
 				       _("This download is already added"));
-		return;
+		return FALSE;
 	}
 
 	/* if the url it's not a file drop a dialog to recurse into the url */
@@ -728,6 +733,7 @@
 	downloads = g_list_append(downloads,gwgetdata);
 	new_download(gwgetdata);
 	gwget_data_set_state(gwgetdata,DL_NOT_CONNECTED);
+	return TRUE;
 }
 
 void
diff -Naur gwget-1.0.4.orig/src/gwget_data.h gwget-1.0.4/src/gwget_data.h
--- gwget-1.0.4.orig/src/gwget_data.h	2009-06-16 19:58:06.000000000 +0200
+++ gwget-1.0.4/src/gwget_data.h	2018-01-19 11:10:17.784148648 +0100
@@ -126,7 +126,7 @@
 void gwget_data_free(gpointer data);
 void gwget_data_stop_download(GwgetData *data);
 void gwget_data_set_filename_from_url(GwgetData *gwgetdata, gchar *url);
-void gwget_data_add_download(GwgetData *gwgetdata);
+gboolean gwget_data_add_download(GwgetData *gwgetdata);
 void gwget_data_exec(GwgetData *gwgetdata);
 void gwget_data_set_menus (GwgetData *gwgetdata);
 void gwget_data_set_popupmenu (GwgetData *gwgetdata);
diff -Naur gwget-1.0.4.orig/src/main.c gwget-1.0.4/src/main.c
--- gwget-1.0.4.orig/src/main.c	2018-01-19 11:03:01.897778000 +0100
+++ gwget-1.0.4/src/main.c	2018-01-19 11:11:27.529567168 +0100
@@ -194,8 +194,9 @@
                 if (destination_dir) {
                         gwgetdata->dir = destination_dir;
                 }
-                gwget_data_add_download(gwgetdata);
-                gwget_data_start_download(gwgetdata);
+                if (gwget_data_add_download(gwgetdata)) {
+                        gwget_data_start_download(gwgetdata);
+                }
                 g_object_unref (file);
         }
 }                
diff -Naur gwget-1.0.4.orig/src/new_window.c gwget-1.0.4/src/new_window.c
--- gwget-1.0.4.orig/src/new_window.c	2018-01-19 11:03:01.911112000 +0100
+++ gwget-1.0.4/src/new_window.c	2018-01-19 11:30:04.102904944 +0100
@@ -58,22 +58,14 @@
 
 	if (strcmp(url,"")) {
 		save_in=g_strdup(gtk_entry_get_text (GTK_ENTRY(save_in_entry)));
-		
-		if (!strcmp(save_in,"") && gwget_pref.download_dir) {
-			save_in=g_strdup(gwget_pref.download_dir);
-		}
-	
-		if (!strcmp(save_in,"") && !gwget_pref.download_dir) {
-			save_in=g_strdup(g_get_home_dir());
-		}
-		
 		save_in_list = g_strdup(save_in);
 		if (g_list_find_custom(save_in_paths, save_in, (GCompareFunc) strcmp)==NULL) {
 			save_in_paths = g_list_prepend (save_in_paths, save_in_list);
 		}
 		gwgetdata = gwget_data_create (url, save_in);
-		gwget_data_add_download(gwgetdata);
-		gwget_data_start_download(gwgetdata);
+		if (gwget_data_add_download(gwgetdata)) {
+			gwget_data_start_download(gwgetdata);
+		}
 		gtk_widget_hide(window);
 		g_free(save_in);
 	}