[pkg-fso-commits] [SCM] openmoko panel plugin branch, debian, updated. debian/0.7-1-2-g5a19169

ohli (none) ohli at workuta.
Thu Jan 1 12:44:30 UTC 2009


The following commit has been merged in the debian branch:
commit 527cbcde18ee0f551702df1f497877893790b014
Author: ohli <ohli at workuta.(none)>
Date:   Thu Jan 1 13:41:40 2009 +0100

    adding again lost patch from 0.6-2.1, correct handling of keyboard stoping

diff --git a/panelplugin/Buttons.py b/panelplugin/Buttons.py
index cc5706f..7f6a104 100644
--- a/panelplugin/Buttons.py
+++ b/panelplugin/Buttons.py
@@ -253,7 +253,8 @@ class Buttons(StatusIcon):
                                 # long aux
                                 if (self.handleAuxLongExternal):
                                     if (self.handleAuxLongExternalPid != 0):
-                                        os.kill(self.handleAuxLongExternalPid, signal.SIGKILL)
+                                        os.kill(self.handleAuxLongExternalPid, signal.SIGTERM)
+                                        os.waitpid(self.handleAuxLongExternalPid,0)
                                         self.handleAuxLongExternalPid = 0
                                     else:
                                         self.handleAuxLongExternalPid = subprocess.Popen(self.handleAuxLongExternalCommand, shell = True).pid
@@ -266,7 +267,8 @@ class Buttons(StatusIcon):
                                 if (self.handleAuxShort):
                                     if (self.handleAuxShortExternal):
                                         if (self.handleAuxShortExternalPid != 0):
-                                            os.kill(self.handleAuxShortExternalPid, signal.SIGKILL)
+                                            os.kill(self.handleAuxShortExternalPid, signal.SIGTERM)
+                                            os.waitpid(self.handleAuxShortExternalPid,0)
                                             self.handleAuxShortExternalPid = 0
                                         else:
                                             self.handleAuxShortExternalPid = subprocess.Popen(self.handleAuxShortExternalCommand, shell = True).pid
@@ -295,7 +297,8 @@ class Buttons(StatusIcon):
                                 # long power
                                 if (self.handlePowerLongExternal):
                                     if (self.handlePowerLongExternalPid != 0):
-                                        os.kill(self.handlePowerLongExternalPid, signal.SIGKILL)
+                                        os.kill(self.handlePowerLongExternalPid, signal.SIGTERM)
+                                        os.waitpid(self.handlePowerLongExternalPid,0)
                                         self.handlePowerLongExternalPid = 0
                                     else:
                                         self.handlePowerLongExternalPid = subprocess.Popen(self.handlePowerLongExternalCommand, shell = True).pid
@@ -308,7 +311,8 @@ class Buttons(StatusIcon):
                                 if (self.handlePowerShort):
                                     if (self.handlePowerShortExternal):
                                         if (self.handlePowerShortExternalPid != 0):
-                                            os.kill(self.handlePowerShortExternalPid, signal.SIGKILL)
+                                            os.kill(self.handlePowerShortExternalPid, signal.SIGTERM)
+                                            os.waitpid(self.handlePowerShortExternalPid,0)
                                             self.handlePowerShortExternalPid = 0
                                         else:
                                             self.handlePowerShortExternalPid = subprocess.Popen(self.handlePowerLongExternalCommand, shell = True).pid
diff --git a/panelplugin/KeyboardIcon.py b/panelplugin/KeyboardIcon.py
index 1672d04..2b72900 100644
--- a/panelplugin/KeyboardIcon.py
+++ b/panelplugin/KeyboardIcon.py
@@ -42,10 +42,11 @@ class KeyboardIcon(StatusIcon):
 
     def activate(self, widget, data = None):
         if (self.getKdbStatus()):
-            os.kill(self.keyboardPid, signal.SIGKILL)
+            os.kill(self.keyboardPid, signal.SIGTERM)
+            os.waitpid(self.keyboardPid,0)
             self.keyboardPid = 0
         else:
-            self.keyboardPid = subprocess.Popen(self.keyboardBin, shell = True).pid
+            self.keyboardPid = subprocess.Popen(self.keyboardBin, shell = False, close_fds = True).pid
 
         self.updateIcon()       
 
diff --git a/panelplugin/UsageIcon.py b/panelplugin/UsageIcon.py
index 5126705..9b1fd5e 100644
--- a/panelplugin/UsageIcon.py
+++ b/panelplugin/UsageIcon.py
@@ -13,7 +13,10 @@ class UsageIcon(StatusIcon):
         self.notificatonAvailable = notificationAvailable
 
         self.dbus.usage_iface.connect_to_signal("ResourceChanged", self.resourceChanged)
-        self.resourcestate = self.dbus.usage_iface.GetResourceState(self.resourcename)
+        try:
+            self.resourcestate = self.dbus.usage_iface.GetResourceState(self.resourcename)
+        except:
+            self.resourcestate = 0
 
         StatusIcon.__init__(self, self.dbus, self.parentObject, self.configName)
 
@@ -48,4 +51,4 @@ class UsageIcon(StatusIcon):
 
             if (self.notificationAvailable & self.doNotification):
                 self.commitNotification()
-      
\ No newline at end of file
+      

-- 
openmoko panel plugin



More information about the pkg-fso-commits mailing list