~focus-follows-mouse/ubuntu/precise/compiz/fix-883383

« back to all changes in this revision

Viewing changes to plugins/compiztoolbox/src/compiztoolbox.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2011-03-22 21:45:34 UTC
  • mfrom: (0.168.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20110322214534-l6i6ds54os5uoqt1
Tags: 1:0.9.4git20110322-0ubuntu1
* New upstream bug fix snapshot:
  - Application windows can sometimes fail to display and will
    mask regions of the screen (LP: #709461)
  - Compiz switcher Alt-Tab order is not predictable - should
    maintain LIFO ordering in application switcher (LP: #175874)
  - after compiz crashed, gnome-panel isn't mapped again (LP: #711378)
  - invisible windows border problem (LP: #710271)
  - Compiz thinks you are clicking in an edge window when you
    are not (LP: #734250)
  - Add test case for invisible window regressions (LP: #736876)
  - often can't alt-click-dnd to move the focussed dialog (LP: #711911)
  - When windows open for the first time they should not hide (LP: #723878)
  - Unity Grid is broken for multi-monitor setups (LP: #709221)
  - Pixmaps trashed during animations when window is unmapped (LP: #733331)
  - Windows have blank decorations when rapidly closing and
    reopening (LP: #733328)
  - Unity is not restored on unity/compiz crash: compiz doesn't register
    properly with gnome-session (LP: #716462)
* remove the patch taken from upstream
* refresh u-w-d patch with latest upstream work
* debian/compiz-core.install:
  - image move to the final destination
* debian/patches/100_bump_core.h.patch:
  - bump for ABI breakage
* debian/compiz-decorator:
  - use gtk-window-decorator and not unity-window-decorator as it's really
    crashy for now (will probably redo an upload tomorrow with a fixed
    decorator)

Show diffs side-by-side

added added

removed removed

Lines of Context:
123
123
 
124
124
 
125
125
void
126
 
BaseSwitchScreen::setSelectedWindowHint ()
 
126
BaseSwitchScreen::setSelectedWindowHint (bool focus)
127
127
{
128
128
    Window selectedWindowId = None;
129
129
    CompOption::Vector opts;
130
130
    CompOption::Value  v;
131
131
 
132
 
    if (selectedWindow && !selectedWindow->destroyed ())
 
132
    if (focus && selectedWindow && !selectedWindow->destroyed ())
133
133
    {
134
134
        selectedWindowId = selectedWindow->id ();
135
135
        selectedWindow->moveInputFocusTo ();
249
249
 
250
250
CompWindow *
251
251
BaseSwitchScreen::switchToWindow (bool toNext,
252
 
                                  bool autoChangeVPOption)
 
252
                                  bool autoChangeVPOption,
 
253
                                  bool focus)
253
254
{
254
255
    CompWindow               *w = NULL;
255
256
    CompWindowList::iterator it;
328
329
            if (popup)
329
330
                CompositeWindow::get (popup)->addDamage ();
330
331
 
331
 
            setSelectedWindowHint ();
 
332
            setSelectedWindowHint (focus);
332
333
        }
333
334
 
334
335
        doWindowDamage (w);
430
431
        width  = width1;
431
432
        height = height1;
432
433
 
433
 
        ww = window->inputRect ().width ();
434
 
        wh = window->inputRect ().height ();
 
434
        ww = window->borderRect ().width ();
 
435
        wh = window->borderRect ().height ();
435
436
 
436
437
        if (ww > width)
437
438
            sAttrib.xScale = width / ww;
454
455
        updateIconPos (wx, wy, x, y, width, height);
455
456
 
456
457
        sAttrib.xTranslate = wx - g.x () +
457
 
                             window->input ().left * sAttrib.xScale;
 
458
                             window->border ().left * sAttrib.xScale;
458
459
        sAttrib.yTranslate = wy - g.y () +
459
 
                             window->input ().top  * sAttrib.yScale;
 
460
                             window->border ().top  * sAttrib.yScale;
460
461
 
461
462
        GLFragment::Attrib fragment (sAttrib);
462
463