File: manager_exit_menu_entry_removal.patch

package info (click to toggle)
boinc 8.2.6%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 104,688 kB
  • sloc: cpp: 172,875; php: 115,929; pascal: 56,058; xml: 17,863; python: 8,752; javascript: 6,538; sh: 5,343; objc: 2,322; ansic: 2,200; makefile: 2,166; perl: 1,843; sql: 831; java: 429; lisp: 47; csh: 30
file content (62 lines) | stat: -rw-r--r-- 2,353 bytes parent folder | download
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
Index: boinc/clientgui/AdvancedFrame.cpp
===================================================================
--- boinc.orig/clientgui/AdvancedFrame.cpp
+++ boinc/clientgui/AdvancedFrame.cpp
@@ -367,6 +367,18 @@ bool CAdvancedFrame::CreateMenus() {
         strMenuDescription
     );
 
+/* 
+   On Linux distributions, BOINC runs as a service. Users must not be able to
+   try stopping the service from exit menu entry.
+   This leads to unexpected behaviour, like:
+   - service being killed;
+   - service still running.
+   Moreover, the Manager will no longer be able to connect to the client, unless
+   the user connects to 127.0.0.1. Then if the Manager is connected to the client
+   by using 127.0.0.1 address, the "Exit from BOINC Manager" entry will not
+   show any frame asking the user if he wants to stop the service.
+*/
+#ifndef __WXGTK__
     strMenuDescription.Printf(
         _("Exit %s"),
         pSkinAdvanced->GetApplicationName().c_str()
@@ -387,6 +399,7 @@ bool CAdvancedFrame::CreateMenus() {
         strMenuName,
         strMenuDescription
     );
+#endif
 
 #ifdef __WXMAC__
     // wxWidgets actually puts this in the BOINCManager menu
Index: boinc/clientgui/sg_BoincSimpleFrame.cpp
===================================================================
--- boinc.orig/clientgui/sg_BoincSimpleFrame.cpp
+++ boinc/clientgui/sg_BoincSimpleFrame.cpp
@@ -158,6 +158,18 @@ bool CSimpleFrame::CreateMenus() {
         strMenuDescription
     );
 
+/* 
+   On Linux distributions, BOINC runs as a service. Users must not be able to
+   try stopping the service from exit menu entry.
+   This leads to unexpected behaviour, like:
+   - service being killed;
+   - service still running.
+   Moreover, the Manager will no longer be able to connect to the client, unless
+   the user connects to 127.0.0.1. Then if the Manager is connected to the client
+   by using 127.0.0.1 address, the "Exit from BOINC Manager" entry will not
+   show any frame asking the user if he wants to stop the service.
+*/
+#ifndef __WXGTK_
     strMenuDescription.Printf(
         _("Exit %s"),
         pSkinAdvanced->GetApplicationName().c_str()
@@ -173,6 +185,7 @@ bool CSimpleFrame::CreateMenus() {
         strMenuName,
         strMenuDescription
     );
+#endif
 
 #ifdef __WXMAC__
     // wxWidgets actually puts this in the BOINCManager menu