summaryrefslogtreecommitdiffstats
path: root/truecrypt/build/truecrypt-7.1_diropen.patch
blob: b0036af2a348b1a45b52d44b083d00612b5cc7d4 (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
diff -uarN truecrypt-7.1-source.orig/Main/UserInterface.cpp truecrypt-7.1-source/Main/UserInterface.cpp
--- truecrypt-7.1-source.orig/Main/UserInterface.cpp	2011-09-01 15:15:42.000000000 +0200
+++ truecrypt-7.1-source/Main/UserInterface.cpp	2011-09-22 11:33:15.731105392 +0200
@@ -828,7 +828,7 @@
 		// MIME handler for directory seems to be unavailable through wxWidgets
 		wxString desktop = GetTraits()->GetDesktopEnvironment();
 
-		if (desktop == L"GNOME" || desktop.empty())
+		if (desktop == L"GNOME")
 		{
 			args.push_back ("--no-default-window");
 			args.push_back ("--no-desktop");
@@ -861,6 +861,34 @@
 				catch (exception &e) { ShowError (e); }
 			}
 		}
+		else if (desktop == L"XFCE")
+		{
+			args.push_back (string (path));
+			try
+			{
+				Process::Execute ("thunar", args, 2000);
+			}
+			catch (TimeOut&) { }
+			catch (exception&)
+			{
+				try
+				{
+					Process::Execute ("xdg-open", args, 2000);
+				}
+				catch (TimeOut&) { }
+				catch (exception &e) { ShowError (e); }
+			}
+		}
+		else
+		{
+			args.push_back (string (path));
+			try
+			{
+				Process::Execute ("xdg-open", args, 2000);
+			}
+			catch (TimeOut&) { }
+			catch (exception &e) { ShowError (e); }
+		}
 #endif
 	}