← Back to team overview

desktop-packages team mailing list archive

[Bug 1302098] Re: Windows cascading mode cause segfault

 

- Disable cascadeFindFirstFit
The cause of segfault, so reference to null pointer
std::sort (belowSorted.begin(), belowSorted.end(), compareTopmost);
I got the log message using compLogMessage() function.
You can got the message in console, to do this, type #compiz --replace ccp

- Fixed to cascadeFindNext function
If we go off the screen, start over with a new cascade.
I fixed to error condition: cascadeY + winHeight > workArea.bottom()
There was an logical error on calculating of window position(x,y)
e.g. 465+434 > 900 in this case: error occured(no next to cascade)

In my opinion, First, cascadeFindFirstFit function was not completed, so useless
Second, my patch is tricky, so need to improve.
Good review for this patch would be welcome!


** Patch added: "cascade_mode_segfault.patch"
   https://bugs.launchpad.net/compiz/+bug/1302098/+attachment/4217889/+files/cascade_mode_segfault.patch

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to compiz in Ubuntu.
https://bugs.launchpad.net/bugs/1302098

Title:
  Windows cascading mode cause segfault

Status in Compiz:
  Fix Committed
Status in “compiz” package in Ubuntu:
  Confirmed

Bug description:
  I found a critical bug in compiz, the x-window-manager.

  Ubuntu version : 12.04.4 LTS
  compiz version : 1:0.9.7.12-0ubuntu3

  The test case is as below.
  1) Set the window placement option to cascade mode.
  - run "gnome-terminal" and then type "sudo gconftool-2 --type int --set /apps/compiz-1/plugins/place/screen0/options/mode 0"
  OR
  - run "gconf-editor"(At first, install "gconf-editor" from software center) and then go through " /apps/compiz-1/plugins/place/screen0/options/" and the set "mode"value to 0

  2) Run "gnome-terminal" and then repeat opening new windows about 30 times.(using shortcut key <Ctrl+Alt+T>)
  (OR run "nautilus" file manager and then repeat opening new windows about 30 times (using shortcut key <Ctrl+N>))

  It is Note for you: Although you reproduce this bug, your Ubuntu will not break. System restore is very simple. Please try log out and log in again. And then try resetting as following.
  run "gnome-terminal" and then type "sudo gconftool-2 --type int --set /apps/compiz-1/plugins/place/screen0/options/mode 2"
  (OR - run "gconf-editor"(At first, install "gconf-editor" from software center) and then go through " /apps/compiz-1/plugins/place/screen0/options/" and the set "mode"value to 2)

To manage notifications about this bug go to:
https://bugs.launchpad.net/compiz/+bug/1302098/+subscriptions