David Barth has proposed merging lp:~unity-team/compiz/trunk.fix_env into 
lp:~unity-team/compiz/trunk.

Requested reviews:
  compiz packagers (compiz)

For more details, see:
https://code.launchpad.net/~unity-team/compiz/trunk.fix_env/+merge/56566

This branch basically fixes the way we were botching the env for applications 
that we launch.

Because of the way compiz works, we need to ensure that the program is not just 
using the env as started by DISPLAY=:blah but actually the display and screen 
that compiz is running on (eg priv->displayString and priv->screenNum). However 
what we were doing in this case was replacing the display with 
0.priv->screenNum every time which attempts to start any commands we wish to 
run on display :0. This is incorrect behaviour - it should reflect the display 
that compiz was actually started on.
-- 
https://code.launchpad.net/~unity-team/compiz/trunk.fix_env/+merge/56566
Your team compiz packagers is requested to review the proposed merge of 
lp:~unity-team/compiz/trunk.fix_env into lp:~unity-team/compiz/trunk.
=== modified file 'src/screen.cpp'
--- src/screen.cpp	2011-03-30 12:28:16 +0000
+++ src/screen.cpp	2011-04-06 13:30:56 +0000
@@ -3468,22 +3468,25 @@
 
     if (fork () == 0)
     {
-	size_t     pos;
-	CompString env (priv->displayString);
+	size_t       pos;
+	CompString   env (priv->displayString);
 
 	setsid ();
 
 	pos = env.find (':');
 	if (pos != std::string::npos)
 	{
-	    if (env.find ('.', pos) != std::string::npos)
+            size_t pointPos = env.find ('.', pos);
+
+	    if (pointPos != std::string::npos)
 	    {
-		env.erase (env.find ('.', pos));
+		env.erase (pointPos);
 	    }
 	    else
 	    {
+                unsigned int displayNum = atoi (env.substr (pos + 1).c_str ());
 		env.erase (pos);
-		env.append (":0");
+		env.append (compPrintf (":%i", displayNum));
 	    }
 	}
 

_______________________________________________
Mailing list: https://launchpad.net/~compiz
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~compiz
More help   : https://help.launchpad.net/ListHelp

Reply via email to