summaryrefslogtreecommitdiffstats
path: root/truecrypt/build/truecrypt-6.3a_diropen.patch
blob: 730b560fae5b2242ae63a6f18f262020d748d0a6 (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 -uar truecrypt-6.3a-source.orig/Main/UserInterface.cpp truecrypt-6.3a-source/Main/UserInterface.cpp
--- truecrypt-6.3a-source.orig/Main/UserInterface.cpp	2009-11-22 16:10:08.000000000 +0100
+++ truecrypt-6.3a-source/Main/UserInterface.cpp	2010-04-04 16:36:49.000000000 +0200
@@ -812,7 +812,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");
@@ -845,6 +845,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
 	}