[meego-commits] 5815: Changes to MeeGo:1.0:IVI:Update/ivihome

Jimmy Huang jimmy.huang at intel.com
Sat Jul 17 00:19:47 UTC 2010


Hi,
I have made the following changes to ivihome in project MeeGo:1.0:IVI:Update. Please review and accept ASAP.

Thank You,
Jimmy Huang

[This message was auto-generated]

---

Request #5815:

  submit:   home:jhuang:branches:MeeGo:1.0:IVI:Update/ivihome(r2)(cleanup) -> MeeGo:1.0:IVI:Update/ivihome


Message:
    fixes zombie process bug

State:   new          2010-07-16T12:14:18 jhuang
Comment: None



changes files:
--------------
--- ivihome.changes
+++ ivihome.changes
@@ -1,2 +1,3 @@
-* Fri Jul 16 2010 Brian Harring <brian.harring at intel.com> - 1.7
-- ignore SIGCHILD to disable zombie processes.
+* Fri Jul 16 2010 Jimmy Huang <jimmy.huang at intel.com> - 1.8
+- Added SIG_IGN to remove zombie processes
+- Fixed bug#3825 should not allow to open a second ivihome

old:
----
  ivihome-1.7.tar.gz
  ivihome-ignore-sigchild.patch

new:
----
  ivihome-1.8.tar.gz

spec files:
-----------
--- ivihome.spec
+++ ivihome.spec
@@ -1,11 +1,10 @@
 Summary:       Taskbar and Application Launcher Program for IVI
 Name:          ivihome
-Version:       1.7
+Version:       1.8
 Release:       1%{?dist}
 License:       GPLv2+
 Group:         User Interface/Desktops
 Source0:       %{name}-%{version}.tar.gz
-Patch1:         ivihome-ignore-sigchild.patch
 Buildroot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:  pkgconfig 
 BuildRequires:  expat-devel
@@ -24,7 +23,6 @@
 
 %prep
 %setup -q
-%patch1 -p1
 
 %build
 qmake-qt4 install_prefix=/usr

other changes:
--------------

++++++ ivihome-1.7.tar.gz -> ivihome-1.8.tar.gz
--- applicationlist.cpp
+++ applicationlist.cpp
@@ -282,7 +282,13 @@
         s = list.at(i);
         s.prepend(APPLICATION_FOLDER);
         if((mb = mb_dotdesktop_new_from_file(s.toAscii())) != NULL)
+        {
             ProcessEntry(mb);
+        }
+        else
+        {
+            qDebug() << "Cannot parse desktop file: " << s;
+        }
     }
     findIcons(QDir(HANDSETICON_FOLDER));
     if(missingicons <= 0)
@@ -378,6 +384,8 @@
 
     argv[nargs] = NULL;
 
+    signal( SIGCHLD, SIG_IGN );
+
     switch ((child_pid = fork ())) {
     case -1:
             qDebug() << "Fork failed";
--- inputthread.cpp
+++ inputthread.cpp
@@ -49,11 +49,11 @@
                 if (openDevice(m_devicePath))
                 {
                     m_connected = true;
-                    qDebug() << "devicepath found and connected";
+                    // qDebug() << "devicepath found and connected";
                 }
                 else
                 {
-                    //qDebug() << "devicepath not connected, sleep for 1 sec";
+                    // qDebug() << "devicepath not connected, sleep for 1 sec";
                     sleep(1);
                 }
             }
--- launchwindow.cpp
+++ launchwindow.cpp
@@ -387,7 +387,7 @@
 
 void LaunchWindow::nextMenuItem()
 {
-    qDebug() << "Next Menu Item";
+    // qDebug() << "Next Menu Item";
     if(m_menu->m_state!=eEXPAND)
         return;
 
@@ -415,7 +415,7 @@
 
 void LaunchWindow::previousMenuItem()
 {
-    qDebug() << "Previous Menu Item";
+    // qDebug() << "Previous Menu Item";
     if(m_menu->m_state!=eEXPAND)
         return;
 
@@ -443,7 +443,7 @@
 
 void LaunchWindow::clickMenuItem()
 {
-    qDebug() << "Click Menu Item";
+    // qDebug() << "Click Menu Item";
     if(m_menu->m_state!=eEXPAND)
         return;
     if( m_menu_app==NULL)
--- scrollMenuList.cpp
+++ scrollMenuList.cpp
@@ -164,7 +164,7 @@
 
 void ScrollMenuList::setSelectedItem(int id)
 {
-    qDebug() << "set select index " << id;
+    // qDebug() << "set select index " << id;
     if(0 <= id && id < p_widgetList.count())
     {
         selectedIndex = id;
--- settings.cpp
+++ settings.cpp
@@ -50,7 +50,7 @@
             if(name == "appcategory")
             {
                 ApplicationCategory appcat;
-                qDebug() << "Name: " << name;
+                // qDebug() << "Name: " << name;
 
                 while (!xml.atEnd()&&
                        !xml.hasError())
@@ -67,7 +67,7 @@
                            !appcat.imgh.isEmpty()||
                            appcat.matches.count() >= 1)
                         {
-                            qDebug() << "valid";
+                            // qDebug() << "valid";
                         }
 
                         break;
@@ -88,8 +88,8 @@
                     if(cdata.isEmpty()||cdata.isNull())
                             continue;
 
-                    qDebug() << "Cat Name: " << cname;
-                    qDebug() << "Cat Data: " << cdata;
+                    // qDebug() << "Cat Name: " << cname;
+                    // qDebug() << "Cat Data: " << cdata;
 
                     if(cname == "name")
                     {
@@ -118,8 +118,8 @@
             if(data.isEmpty()||data.isNull())
                     continue;
 
-            qDebug() << "Name: " << name;
-            qDebug() << "Data: " << data;
+            // qDebug() << "Name: " << name;
+            // qDebug() << "Data: " << data;
             bool res;
             if(name == "taskbar_bgcolor1")
             {
--- startivi
+++ startivi
@@ -1,30 +1,37 @@
 #!/bin/sh
 
-xsetroot -solid black -cursor_name watch
+## check to see if a instance is already running
+CHECK=`/bin/ps auxwww | /bin/grep -v grep | /bin/grep "^$USER.*ivihome$"`
 
-matchbox-window-manager -use_desktop_mode plain -use_titlebar no &
+if [ -z "$CHECK" ] ; then
+	xsetroot -solid black -cursor_name watch
 
-ividesktop &
-panel=`which ivihome`
-case "x$panel" in
-	x|xno*)
-		;;
-	*)
-		$panel
-		ret=$?
-		while test $ret -ne 0; do
-			xmessage -center -file - -timeout 10 -title Error <<EOF
+	matchbox-window-manager -use_desktop_mode plain -use_titlebar no &
+
+	ividesktop &
+	panel=`which ivihome`
+	case "x$panel" in
+		x|xno*)
+			;;
+		*)
+			$panel
+			ret=$?
+			while test $ret -ne 0; do
+				xmessage -center -file - -timeout 10 -title Error <<EOF
 A crash occured in ivihome
 The panel will be restarted
 EOF
-			cat >&2 <<EOF
+				cat >&2 <<EOF
 A crash occured in ivihome
 The panel will be restarted
 EOF
-			$panel
-			ret=$?
-		done
-		;;
-esac
+				$panel
+				ret=$?
+			done
+			;;
+	esac
 
-xsetroot -bg white -fg red  -solid black -cursor_name watch
+	xsetroot -bg white -fg red  -solid black -cursor_name watch
+else
+	echo "startivi is already started, run 'pkill startivi' to restart"
+fi
--- taskwindow.cpp
+++ taskwindow.cpp
@@ -158,7 +158,7 @@
     case EV_KEY:
             if(code == BTN_5 && value ==1)
             {
-                qDebug() << "Home Button pressed " << code << ", " << value;
+                // qDebug() << "Home Button pressed " << code << ", " << value;
                 switch(m_launcherState)
                 {
                 case eCOLLAPSE:
@@ -175,7 +175,7 @@
             }
             else if (code == BTN_4 && value ==1)
             {
-                qDebug() << "Back";
+                // qDebug() << "Back";
                 if(m_home.getState() == eACTIVE)
                 {
                     switch(m_launcherState)
@@ -192,7 +192,7 @@
             }
             else if (code == BTN_6 && value ==1)
             {
-                qDebug() << "Select Button Pressed";
+                // qDebug() << "Select Button Pressed";
                 if(m_home.getState() == eACTIVE)
                 {
                     switch(m_launcherState)
@@ -210,7 +210,7 @@
             }
             break;
     case EV_REL:
-            qDebug() << "Relative Axis changed " << code << ", " << value;
+            // qDebug() << "Relative Axis changed " << code << ", " << value;
             if(m_home.getState() == eACTIVE)
             {
                 if (code == REL_WHEEL && value == 1)
@@ -238,7 +238,7 @@
             }
             break;
     case EV_ABS:
-            qDebug() << "Absolute Axis changed " << code << ", " << value;
+            // qDebug() << "Absolute Axis changed " << code << ", " << value;
             break;
     }
 }
@@ -311,7 +311,7 @@
 
 void TaskWindow::windowClicked(Window window, QString name)
 {
-    qDebug() << "switch to window " << name;
+    // qDebug() << "switch to window " << name;
     ws.setActiveWindow(window);
 }
 
@@ -332,7 +332,7 @@
 
 void TaskWindow::nextWindow()
 {
-    qDebug() << "Next Window";
+    // qDebug() << "Next Window";
     Window window = m_windows->getNextWindow(); 
     if(window)
     {
@@ -342,7 +342,7 @@
 
 void TaskWindow::previousWindow()
 {
-    qDebug() << "Previous Window";
+    // qDebug() << "Previous Window";
     Window window = m_windows->getPreviousWindow();
     if(window)
     {

++++++ deleted files:
--- ivihome-ignore-sigchild.patch



More information about the MeeGo-commits mailing list