meegotouch:dohollans-meegotouch-compositor.git
6 years agoUpdated appinterface test.
Dominik Holland [Thu, 30 Dec 2010 09:00:06 +0000 (10:00 +0100)]
Updated appinterface test.

Now the test uses its own communication to the decorator.
It's the same class used in the plain qt style

6 years agoRemoved the backgroundBrush workaround, because we are have an transientBackground
Dominik Holland [Mon, 20 Dec 2010 12:44:32 +0000 (13:44 +0100)]
Removed the backgroundBrush workaround, because we are have an transientBackground

6 years agoAdded test app to test the AppInterface
Dominik Holland [Wed, 15 Dec 2010 10:13:50 +0000 (11:13 +0100)]
Added test app to test the AppInterface

6 years agoCode Styling cleanup, disabled debugging messages
Dominik Holland [Wed, 15 Dec 2010 10:09:44 +0000 (11:09 +0100)]
Code Styling cleanup, disabled debugging messages

changed behavior of the AppInterface. Only the uuid are sent when an action was triggered

6 years agoAdded the Visibility Change events. Now the appMenu disappears when the Display was...
Dominik Holland [Tue, 14 Dec 2010 08:02:03 +0000 (09:02 +0100)]
Added the Visibility Change events. Now the appMenu disappears when the Display was Exited

6 years agoAdded custom MessageHandler to write debug prints to an file
Dominik Holland [Fri, 10 Dec 2010 08:03:05 +0000 (09:03 +0100)]
Added custom MessageHandler to write debug prints to an file

6 years agoUpdated documentation
Dominik Holland [Fri, 10 Dec 2010 08:01:15 +0000 (09:01 +0100)]
Updated documentation

added some consts
removed & in Action texts

6 years agoOnly Messages from the current decorated Window will be handled.
Dominik Holland [Thu, 9 Dec 2010 09:18:27 +0000 (10:18 +0100)]
Only Messages from the current decorated Window will be handled.

Actions now displayed as IconActions or TextActions.

6 years agoAdded support for Toolbar Actions
Dominik Holland [Wed, 8 Dec 2010 12:29:24 +0000 (13:29 +0100)]
Added support for Toolbar Actions

Added support for Icons in Actions
Changed the AppInterface to support more than one open application.

6 years agoAdded an Application Interface
Dominik Holland [Tue, 7 Dec 2010 08:32:36 +0000 (09:32 +0100)]
Added an Application Interface

With the Application Interface the decorated Application can send Actions which will be
displayed in the Application Menu. The triggered Actions are communicated back to the app

6 years agoFixes: NB#214816, NB#214825
Kimmo Hämäläinen [Wed, 29 Dec 2010 09:18:00 +0000 (11:18 +0200)]
Fixes: NB#214816, NB#214825
- don't fetch damage rectangles, partial drawing does not currently work
- make the EGL backend draw the whole texture when there are no rectangles

6 years agoChanges: build time improvements
Jani Mikkonen [Tue, 28 Dec 2010 14:22:19 +0000 (16:22 +0200)]
Changes: build time improvements

6 years agoSTACKING_DEBUGGING and dumpState() improvements
Adam Endrodi [Thu, 23 Dec 2010 15:39:06 +0000 (17:39 +0200)]
STACKING_DEBUGGING and dumpState() improvements

 * src/mcompositemanager.cpp
   -- dumpWindows() added
   -- roughSort(): use it to dump stacking_list before and after sorting
   -- dumpState(): make the command line space-delimited, rather than \0-delimited

6 years agodumpState(): add command line and InputOnly info printing
Kimmo Hämäläinen [Thu, 23 Dec 2010 12:51:04 +0000 (14:51 +0200)]
dumpState(): add command line and InputOnly info printing

6 years agoFixes: NB#210945 - SMS/Chat message UI opened in background the second time from...
Adam Endrodi [Thu, 23 Dec 2010 11:06:52 +0000 (13:06 +0200)]
Fixes: NB#210945 - SMS/Chat message UI opened in background the second time from contacts

compareWindows() didn't have these properties:
 -- !compareWindows(a, b) || !compareWindows(b, c) || compareWindows(a, c)
 -- !compareWindows(a, b) || !compareWindows(b, a)
 -- !compareWindows(a, a)
which made roughSort() sort wrongly sometimes.

  * src/mcompositemanager.cpp:
    -- compareWindows(): reimplement it in such a way that strives to behave
       exactly the same as earlier, but more reliably and faster.
    -- transiencyRelation(): dropped as unnecessary
    -- isSpecial(), compareDecorator(): added for compareWindows()
  * src/mcompositemanager.h:
    -- remove compareWindows() from the class

6 years agoMerge branch 'staging' of ssh://git@gitorious/meegotouch/meegotouch-compositor into...
Adam Endrodi [Wed, 22 Dec 2010 19:35:52 +0000 (21:35 +0200)]
Merge branch 'staging' of ssh://git@gitorious/meegotouch/meegotouch-compositor into staging

6 years agostop windowctl pingponging with itself
Adam Endrodi [Wed, 22 Dec 2010 19:35:32 +0000 (21:35 +0200)]
stop windowctl pingponging with itself

taking all CPU and making all tests fail

 * tests/windowctl/windowctl.cpp (old_main):
   Only answer _NET_WM_PING messages directed to us.
   No wonder this code used to be commented out.

6 years agoFixes: NB#213095 - Call-history opens in the background while receiving 2nd missed...
Kimmo Hämäläinen [Wed, 22 Dec 2010 17:00:43 +0000 (19:00 +0200)]
Fixes: NB#213095 - Call-history opens in the background while receiving 2nd missed call
- mark configured windows iconic when needed

6 years agoChange windowHung signal to have bool argument + make windowctl answer ping
Kimmo Hämäläinen [Wed, 22 Dec 2010 13:29:41 +0000 (15:29 +0200)]
Change windowHung signal to have bool argument + make windowctl answer ping
- windowHung(false) is now emitted when window is no longer hung

6 years agomake all tests pass even if there are notifications
Adam Endrodi [Tue, 21 Dec 2010 12:39:16 +0000 (14:39 +0200)]
make all tests pass even if there are notifications

This makes the tests more robust.

  * tests/functional/mcompositor-test-init.py:
    Find and unmap all existing notification windows before we begin.

6 years agomake test21.py pass even if there is a notification window before the test
Kimmo Hämäläinen [Tue, 21 Dec 2010 11:42:40 +0000 (13:42 +0200)]
make test21.py pass even if there is a notification window before the test

6 years agoFixes: NB#213779 - Compositor doesn't send synthetic VisibilityUnobscured to Status...
Kimmo Hämäläinen [Tue, 21 Dec 2010 09:40:12 +0000 (11:40 +0200)]
Fixes: NB#213779 - Compositor doesn't send synthetic VisibilityUnobscured to Status Indicator Menu
- mark unmapped windows obscured so that we send unobscured if it's remapped

6 years agoImplement support for partial window drawing etc.
Kimmo Hämäläinen [Mon, 20 Dec 2010 15:53:58 +0000 (17:53 +0200)]
Implement support for partial window drawing etc.
- add support for painting MTexturePixmap with modified texture coordinates
  for plugins
- add _MEEGOTOUCH_MSTATUSBAR_GEOMETRY to MWindowPropertyCache
- add MCompositeWindowShaderEffect API for the affected MCompositeWindow

6 years agooptimize MCompositeManagerPrivate::raiseWithTransients
Adam Endrodi [Mon, 20 Dec 2010 12:11:43 +0000 (14:11 +0200)]
optimize MCompositeManagerPrivate::raiseWithTransients

 * src/mcompositemanager (MCompositeManagerPrivate::raiseWithTransients):
   Only update @newpos if we've moved anything in @stacking_list.

6 years agoremove orig_list
Adam Endrodi [Mon, 20 Dec 2010 11:32:05 +0000 (13:32 +0200)]
remove orig_list

Depends on e30a2327b429a7d6af09f0616e0fc64fe7e1cc01.

 * src/mcompositemanager.cpp (MCompositeManagerPrivate::compareWindows):
   Leave it up to qStableSort() to make sure the original order is kept
   if we didn't tell otherwise.

6 years agofix stacking with transiency loops
Adam Endrodi [Fri, 17 Dec 2010 12:26:01 +0000 (14:26 +0200)]
fix stacking with transiency loops

test8.py fails sometimes because when mc encounters a transiency loop
it begins restacking like madman until the loop is broken by the test.

  * src/mcompositemanager.cpp:
    -- MCompositeManagerPrivate::roughSort():
       Use qStableSort() rather than qSort() to reduce the possibility
       of unnecessary stacking changes.
    -- transiencyRelation():
       Don't loop infinitely when one of the windows is in a transiency loop.
       Also if the windows are in the same loop consider them unrelated,
       otherwise the windows could be ordered randomly (depending on which
       happened to be cw_a and cw_b), instabilising the sorting.
    -- raiseTransientsOf(): gone
    =- raiseWithTransients(): reimplementation to be more efficient and
       to recognize arbitrary loops and do the right thing.  Also it is
       different from raiseTransientsOf() in that it doesn't only raise
       the transients but the window itself too.
  * tests/functional/test8.py:
    Made more reliable and faster by not waiting arbitrarily but
    actually noticing when stacking changes have taken effect.

6 years agofix the [redacted] functional.pro once and for all
Adam Endrodi [Wed, 15 Dec 2010 15:48:20 +0000 (17:48 +0200)]
fix the [redacted] functional.pro once and for all

Today i learnt what "no_check_exist" means.

6 years agoinstall functional tests in the right directory for real
Adam Endrodi [Wed, 15 Dec 2010 14:51:51 +0000 (16:51 +0200)]
install functional tests in the right directory for real

fixes 46b86ea834e919de2a78ba2a55f8b7f57f2984d3
(it really does, i've tried it this time!)

6 years agopolish debian/control
Adam Endrodi [Wed, 15 Dec 2010 14:32:16 +0000 (16:32 +0200)]
polish debian/control

update Standards-Version and don't use deprecated substvars

6 years agoinstall test scripts in the right directory
Adam Endrodi [Wed, 15 Dec 2010 14:31:49 +0000 (16:31 +0200)]
install test scripts in the right directory

fixes 46b86ea834e919de2a78ba2a55f8b7f57f2984d3

6 years agorefresh translations/recovery.ts
Adam Endrodi [Wed, 15 Dec 2010 14:05:03 +0000 (16:05 +0200)]
refresh translations/recovery.ts

as the line numbers in mdecorator have changed

6 years agoMerge branch 'staging' of ssh://git@gitorious/meegotouch/meegotouch-compositor into...
Adam Endrodi [Wed, 15 Dec 2010 13:26:36 +0000 (15:26 +0200)]
Merge branch 'staging' of ssh://git@gitorious/meegotouch/meegotouch-compositor into staging

6 years agomove mcompositor-test-init.py to mcompositor-utils
Adam Endrodi [Wed, 15 Dec 2010 13:16:43 +0000 (15:16 +0200)]
move mcompositor-test-init.py to mcompositor-utils

...and other packaging improvements:
 * correct dependencies for mcompositor-utils
 * renew tests/functional/functional.pro

6 years agoFixes: NB#206559 - The QDialog items don't draw correctly staging
Kimmo Hämäläinen [Wed, 15 Dec 2010 09:30:12 +0000 (11:30 +0200)]
Fixes: NB#206559 - The QDialog items don't draw correctly
- decorate transient (non-LMT) dialogs also
- fix decorator raising/lowering to not depend on the current application

Conflicts:

src/mcompositemanager.cpp

6 years agoFixes: NB#206559 - The QDialog items don't draw correctly
Kimmo Hämäläinen [Wed, 15 Dec 2010 09:21:18 +0000 (11:21 +0200)]
Fixes: NB#206559 - The QDialog items don't draw correctly
- decorate transient (non-LMT) dialogs also
- fix decorator raising/lowering to not depend on the current application

6 years agofix 0537d32515bd807ce173240e7c93a32ec04d1b1f
Adam Endrodi [Tue, 14 Dec 2010 15:26:18 +0000 (17:26 +0200)]
fix 0537d32515bd807ce173240e7c93a32ec04d1b1f

remove MCompositeManagerPrivate::exposeDesktop() also from the header,
fixes build

6 years agoremove MCompositeManagerPrivate::exposeDesktop()
Adam Endrodi [Tue, 14 Dec 2010 12:47:55 +0000 (14:47 +0200)]
remove MCompositeManagerPrivate::exposeDesktop()

It's not used since 17c519aaa5e0b38bce97c40aa723e46e5dbbe4c3.

6 years agoremove MDecoratorWindow::itemRectToScreenRect() from the class definition
Adam Endrodi [Tue, 14 Dec 2010 08:45:20 +0000 (10:45 +0200)]
remove MDecoratorWindow::itemRectToScreenRect() from the class definition

The implementation was removed by 951fffc1e01276751b1b5ef4208b867ac5813a72.

6 years agouninitialized variables in MCompositeWindow
Adam Endrodi [Tue, 14 Dec 2010 08:38:46 +0000 (10:38 +0200)]
uninitialized variables in MCompositeWindow

  * src/mcompositewindow.cpp (MCompositeWindow::MCompositeWindow):
    Initialize all timers, otherwise it will blow up at the time
    an MCompositeWindowGroup is destructed (whose property cache
    is never valid).

6 years agofix 1085c7c03d482e46a7592599f9f7fc4c2c573d3e
Adam Endrodi [Mon, 13 Dec 2010 16:18:34 +0000 (18:18 +0200)]
fix 1085c7c03d482e46a7592599f9f7fc4c2c573d3e

update() (possibly) on ItemVisibleHasChanged, not on ItemZValueHasChanged

6 years agosimplify MCompositeWindow::itemChange()
Adam Endrodi [Mon, 13 Dec 2010 14:27:13 +0000 (16:27 +0200)]
simplify MCompositeWindow::itemChange()

 * src/mcompositewindow.cpp (MCompositeWindow::itemChange):
   Use a flag rather than highest_visible_z == -1000.

7 years agocombined fix of segfaults, leaks and invisible windows
Adam Endrodi [Fri, 10 Dec 2010 18:53:54 +0000 (20:53 +0200)]
combined fix of segfaults, leaks and invisible windows

Test case: while :; do create window; read; destroy window; done
The culprit is that the new window might get the same XID as the
just-destroyed one, confusing the window manager.

 * src/mwindowpropertycache.cpp (MWindowPropertyCache::~MWindowPropertyCache):
   Stop tracking damages, ensuring that the Damage object is destroyed.
 * src/mdecoratorframe.cpp (MDecoratorFrame::setManagedWindow):
   Disconnect from the managed window's destroyed() signal properly.
 * src/mcompositemanager.cpp (MCompositeManagerPrivate::destroyEvent):
   Remove the destroyed window's MWindowPropertyCache from the list of
   caches, because we don't want to and shouldn't reuse it.
 * src/mcompositewindow.cpp (MCompositeWindow::~MCompositeWindow):
   -- delete timers
   -- stop damage tracking
   -- do not attempt to remove ourselves from the stacking_list,
      because there might be already another object with the same XID.

7 years agomake MCompositeManagerExtension::desktopWindow() const
Adam Endrodi [Fri, 10 Dec 2010 15:16:09 +0000 (17:16 +0200)]
make MCompositeManagerExtension::desktopWindow() const

changes ABI

7 years agomake the decorator object available to plugins
Adam Endrodi [Fri, 10 Dec 2010 15:14:43 +0000 (17:14 +0200)]
make the decorator object available to plugins

 * src/mcompositemanager.h
 * src/mcompositemanager.cpp
   Add MCompositeManager::decoratorWindow().

7 years agoadd MWindowPropertyCache::orientationAngle()
Adam Endrodi [Fri, 10 Dec 2010 15:12:03 +0000 (17:12 +0200)]
add MWindowPropertyCache::orientationAngle()

To make it easy to query a window's orientaion.

 * src/mcompatoms_p.h
 * src/mcompositemanager.cpp:
   Add the _MEEGOTOUCH_ORIENTATION_ANGLE atom.
 * src/mwindowpropertycache.h
 * src/mwindowpropertycache.cpp:
   Query and cache it.

7 years agorebuild translation files only when needed
Adam Endrodi [Fri, 10 Dec 2010 11:49:07 +0000 (13:49 +0200)]
rebuild translation files only when needed

meegotouch_translations.prf believes that engineering English ts files are
always autogenerated, and consequentially always regenerates them because
the source files may change any time.

 * translations/translations.pro:
   Add explicit dependency on the file(s) containing logical IDs.

7 years agosick button removal
Adam Endrodi [Fri, 10 Dec 2010 10:17:19 +0000 (12:17 +0200)]
sick button removal

The decorator may show an orphan rectangle around the bottom-left corner
in case the theme doesn't really need it.  Get rid of it.

 * decorators/mdecorator/mdecoratorwindow.cpp (MDecoratorWindow::MDecoratorWindow):
   Check the theme and don't create an MEscapeButtonPanel() unless
   the theme explicitly asks for it.
 * MDecoratorWindow::setOnlyStatusbar(), MDecoratorWindow::setInputRegion():
   Handle escapeButtonPanel == NULL.

7 years agoMerge branch 'staging' of ssh://git@gitorious/meegotouch/meegotouch-compositor into...
Adam Endrodi [Thu, 9 Dec 2010 16:52:28 +0000 (18:52 +0200)]
Merge branch 'staging' of ssh://git@gitorious/meegotouch/meegotouch-compositor into staging

7 years agoMCompositeManager::xtrace() is leaking
Adam Endrodi [Thu, 9 Dec 2010 16:50:53 +0000 (18:50 +0200)]
MCompositeManager::xtrace() is leaking

 * src/mcompositemanager.cpp (MCompositeManager::xtrace):
   don't forget to free the reply

7 years agouse QString()s in the zombie dialog
Adam Endrodi [Thu, 9 Dec 2010 16:41:14 +0000 (18:41 +0200)]
use QString()s in the zombie dialog

 * decorators/mdecorator/mdecoratorwindow.cpp (MDecoratorWindow::showQueryDialog):
   also fixes a potential l10n bug, because the name doesn't necessarily have
   a latin1 representation

7 years agoFixes: NB#210587 - App view jumps to fullscreen suddenly when minimizing after HWKB...
Kimmo Hämäläinen [Thu, 9 Dec 2010 16:27:12 +0000 (18:27 +0200)]
Fixes: NB#210587 - App view jumps to fullscreen suddenly when minimizing after HWKB toolbar was invoked
- MCompositeManagerPrivate::exposeSwitcher(): call clientMessageEvent()
  directly, also optimise a bit to do the call only for one window,
  clientMessageEvent() is supposed to handle the rest
- MCompositeScene::drawItems(): no need to paint grouped windows twice...
- MCompositeWindowGroup::~MCompositeWindowGroup(): stack windows when the
  stack is dirty to avoid wrong kind of redraw

7 years agohandle all kind of decoration geometries correctly
Adam Endrodi [Thu, 9 Dec 2010 16:12:22 +0000 (18:12 +0200)]
handle all kind of decoration geometries correctly

Currently we drop decoration rectangles semi-randomly and get the
coordinates wrong if mdecorator is rotated, making test14 fail.

 * decorators/mdecorator/mdecoratorwindow.cpp:
   -- MDecoratorWindow::itemRectToScreenRect():
      gone for good, use QTransform instead
   -- set_shape(): merge into MDecoratorWindow::setInputRegion()
   -- MDecoratorWindow::setInputRegion():
      do the coordinate-mapping correctly in all cases
      and don't drop any rectangles

7 years agoFixes: NB#209506 - Changing layer of a minimized MApplicationWindow causes the window...
Kimmo Hämäläinen [Wed, 8 Dec 2010 15:40:43 +0000 (17:40 +0200)]
Fixes: NB#209506 - Changing layer of a minimized MApplicationWindow causes the window to be restored from switcher
- don't raise the window having Meego stacking layer change unless it's
  in NormalState

7 years agosync changelog with master
Adam Endrodi [Wed, 8 Dec 2010 13:08:22 +0000 (15:08 +0200)]
sync changelog with master

7 years agorebuild mcompositor-dev for all architectures
Adam Endrodi [Wed, 8 Dec 2010 12:40:11 +0000 (14:40 +0200)]
rebuild mcompositor-dev for all architectures

Because it differs now on arm and i386.

7 years agoMerge branch 'staging' of git@gitorious.org:meegotouch/meegotouch-compositor into...
Kimmo Hämäläinen [Wed, 8 Dec 2010 12:51:35 +0000 (14:51 +0200)]
Merge branch 'staging' of git@gitorious.org:meegotouch/meegotouch-compositor into staging

Conflicts:
src/mcompositemanager.cpp

7 years agoRemove old dock code and obsolete _DUI_STATUSBAR_OVERLAY
Kimmo Hämäläinen [Wed, 8 Dec 2010 12:47:37 +0000 (14:47 +0200)]
Remove old dock code and obsolete _DUI_STATUSBAR_OVERLAY
- if dock support is later wanted, it needs to be written so that it's
  compatible with the current stacking and resizing code

7 years agochangelog sync with master
Adam Endrodi [Wed, 8 Dec 2010 11:33:17 +0000 (13:33 +0200)]
changelog sync with master

7 years agofacility to trace window sizing
Adam Endrodi [Wed, 8 Dec 2010 10:16:03 +0000 (12:16 +0200)]
facility to trace window sizing

 * src/mcompositordebug.h:
   New switch to enable tracing of XConfigureWindow()s, XResizeWindow()s,
   and XMoveResizeWindow()s.
 * src/mcompositemanager.cpp
 * src/mdecoratorframe.cpp:
   Use them.

7 years agoMCompositeManagerPrivate::addItem(): use property cache to get the window type
Kimmo Hämäläinen [Tue, 7 Dec 2010 16:42:14 +0000 (18:42 +0200)]
MCompositeManagerPrivate::addItem(): use property cache to get the window type

7 years agoImprove fix for NB#202667 - Search application launches automatically
Kimmo Hämäläinen [Tue, 7 Dec 2010 16:16:13 +0000 (18:16 +0200)]
Improve fix for NB#202667 - Search application launches automatically
- the code did not handle case when we have normal application window as well
  as always-mapped windows mapped before the desktop window is mapped

7 years agodon't set_as_current_app !isMapped() windows
Adam Endrodi [Mon, 6 Dec 2010 12:00:17 +0000 (14:00 +0200)]
don't set_as_current_app !isMapped() windows

Follow-up to 9b89f65214187a9224bdba19f8454c011ddc72d0.

 * src/mcompositemanager.cpp (MCompositeManagerPrivate::checkStacking):
   Skip !isMapped() MCompositeWindow:s while searching for a suitable
   set_as_current_app.

7 years agoReplace setExposeDesktop's innards with a setWindowObscured() call
Kimmo Hämäläinen [Fri, 3 Dec 2010 15:27:49 +0000 (17:27 +0200)]
Replace setExposeDesktop's innards with a setWindowObscured() call
- this keeps VisibilityNotifys in sync and prevents flooding desktop with them
- removed visibility changes from places where they can be incorrect (mostly
  they are sent in checkStacking())

7 years agotry to make test20.py pass
Adam Endrodi [Thu, 2 Dec 2010 12:13:23 +0000 (14:13 +0200)]
try to make test20.py pass

 * mcompositor/main.cpp:
   Add CONTEXT_COMMANDING=1 for contextkit.

7 years agomake test13.py and test14.py pass
Adam Endrodi [Thu, 2 Dec 2010 12:10:08 +0000 (14:10 +0200)]
make test13.py and test14.py pass

They relied on hardcoded display resolution.

 * tests/windowctl/windowctl.cpp:
   Added the 'D' command to obtain the current display resolution.
 * tests/functional/test13.py
 * tests/functional/test14.py:
   Use it.

7 years agotighten package dependencies
Adam Endrodi [Wed, 1 Dec 2010 17:51:41 +0000 (19:51 +0200)]
tighten package dependencies

Make packages wishing to depend on us do that on a version at least as
high as they were built with.

 * debian/rules:
   Add -V to dh_makeshlibs.

7 years agochange package version to 0.8.0-1~unreleased
Adam Endrodi [Wed, 1 Dec 2010 15:09:32 +0000 (17:09 +0200)]
change package version to 0.8.0-1~unreleased

because of rollover

7 years agoMerge branch 'staging' of ssh://git@gitorious/meegotouch/meegotouch-compositor into...
Adam Endrodi [Wed, 1 Dec 2010 14:19:26 +0000 (16:19 +0200)]
Merge branch 'staging' of ssh://git@gitorious/meegotouch/meegotouch-compositor into staging

7 years agosync debian/changelog with master's
Adam Endrodi [Wed, 1 Dec 2010 14:14:06 +0000 (16:14 +0200)]
sync debian/changelog with master's

7 years agoFixes: NB#207947 - System dialog opens in wrong orientation
Kimmo Hämäläinen [Wed, 1 Dec 2010 14:04:57 +0000 (16:04 +0200)]
Fixes: NB#207947 - System dialog opens in wrong orientation
- make sure we don't mark menus or dialogs as the current application
  (new loop introduced, the best would be carefully fixing the convenience
   functions getTopmostApp and isAppWindow)

7 years agoPartially Fixes: NB#208395 - Lock ui is revealing another copy of it
Kimmo Hämäläinen [Wed, 1 Dec 2010 12:06:49 +0000 (14:06 +0200)]
Partially Fixes: NB#208395 - Lock ui is revealing another copy of it
- do not iconify all windows in lowerHandler(), we have windows that are not
  iconified nowadays
- iconifyApps(): use dontIconify() instead of cannotMinimize()
- updateWindowPixmap(): we want to update the pixmap even if the item is not
  visible because certain animations require up-to-date pixmap

7 years agodebugging enhancements for stacking
Adam Endrodi [Tue, 30 Nov 2010 14:24:44 +0000 (16:24 +0200)]
debugging enhancements for stacking

 * src/mcompositemanager.cpp:
   -- MCompositeManagerPrivate::checkStacking():
      log the actual XRestackWindows() arguments
   -- MCompositeManager::dumpState():
      dump the transients of windows

7 years agoFixes: NB#206365 - Device freeze if Application Crash
Adam Endrodi [Tue, 30 Nov 2010 14:19:18 +0000 (16:19 +0200)]
Fixes: NB#206365 - Device freeze if Application Crash

XRestackWindows() failed because the window list contained destroyed
windows.

 * src/mcompositemanager.cpp (MCompositeManagerPrivate::checkStacking):
   Trap X errors and requeue a checkStacking() if it failed.

7 years agoFixes: NB#202667 - Search application launches automatically
Kimmo Hämäläinen [Tue, 30 Nov 2010 13:37:45 +0000 (15:37 +0200)]
Fixes: NB#202667 - Search application launches automatically
- iconify apps when raising the home window so that it stays on top...

7 years agodelete rootWindow::_NET_SUPPORTING_WM_CHECK on exit
Adam Endrodi [Mon, 29 Nov 2010 14:17:39 +0000 (16:17 +0200)]
delete rootWindow::_NET_SUPPORTING_WM_CHECK on exit

If it remains there all Qt applications will start with a BadWindow error.

 * src/mcompositemanager_p.h:
   Added MCompositeManagerPrivate::prepared.
 * src/mcompositemanager.cpp (MCompositeManager::~MCompositeManager):
   If prepare()d delete the property.
 * mcompositor/xserverpinger.h
 * mcompositor/xserverpinger.cpp:
   Stand guard for the parent and delete the property for it if terminated
   by a SIGINT or SIGTERM.

7 years agoFixes: NB#206347 - Status indicator menu is opened on top of home, not the topmost...
Kimmo Hämäläinen [Mon, 29 Nov 2010 13:52:18 +0000 (15:52 +0200)]
Fixes: NB#206347 - Status indicator menu is opened on top of home, not the topmost application
- don't accept menus as the current application

7 years agodie if plugins are unloadable
Adam Endrodi [Fri, 26 Nov 2010 15:14:09 +0000 (17:14 +0200)]
die if plugins are unloadable

To prevent accidents leading to NB#207076 fail noticably if mandatory
plugins cannot be loaded.

 * src/mcompositemanager.cpp (MCompositeManagerPrivate::loadPlugins):
   Abort if a plugin is not a shared library or if it doesn't contain
   a MCompmgrExtensionFactory.

7 years agoRemove a bunch of deprecated functions
Kimmo Hämäläinen [Fri, 26 Nov 2010 14:26:21 +0000 (16:26 +0200)]
Remove a bunch of deprecated functions
- fix typo in MTexturePixmapPrivate::removeEffect() to make it work

7 years agoexposee desktop in checkStacking()
Adam Endrodi [Wed, 24 Nov 2010 16:27:18 +0000 (18:27 +0200)]
exposee desktop in checkStacking()

Booting the gadget we falsely tell the desktop it's VisibilityFullyObscured,
thus it doesn't update (but still gets and reacts to pointer events).
This is because an ALWAYS_MAPPED window is mapped after the desktop's.
checkStacking() correctly determines that new window should be below,
but the damage has been done by activateWindow() and isn't undone.
Make checkStacking undo it now.

 * src/mcompositemanager.cpp (MCompositeManagerPrivate::checkStacking):
   Explicitly expose or unexpose the desktop depending on desktop_up.

7 years agoMerge branch 'staging' of git@gitorious.org:meegotouch/meegotouch-compositor into...
Abdiel Janulgue [Tue, 23 Nov 2010 12:40:57 +0000 (14:40 +0200)]
Merge branch 'staging' of git@gitorious.org:meegotouch/meegotouch-compositor into staging

7 years agoFixes: NB#201347 - COREWEB: /usr/bin/mcompositor 'MCompositeWindow::lastVisibleParent
Abdiel Janulgue [Tue, 23 Nov 2010 12:38:54 +0000 (14:38 +0200)]
Fixes: NB#201347 - COREWEB: /usr/bin/mcompositor 'MCompositeWindow::lastVisibleParent
Details: Ensure correct usage of QPointer to prevent crashes

7 years agoLimit xoverlay changes for NB#202713 to the EGL backend only
Kimmo Hämäläinen [Tue, 23 Nov 2010 12:16:26 +0000 (14:16 +0200)]
Limit xoverlay changes for NB#202713 to the EGL backend only

7 years agodelete bogus "compositing not enabled!" warning
Adam Endrodi [Tue, 23 Nov 2010 10:38:22 +0000 (12:38 +0200)]
delete bogus "compositing not enabled!" warning

for NB#202389

 * src/mcompositemanager.cpp (MCompositeManager::mapEvent()):
   Just switch composition on, the warning must be a leftover.

7 years agoFixes: NB#202389 - mcompositor is wasting time printing stuff to console
Adam Endrodi [Tue, 23 Nov 2010 10:33:24 +0000 (12:33 +0200)]
Fixes: NB#202389 - mcompositor is wasting time printing stuff to console

Don't print a warning if MWindowPropertyCache is created with window=None
by MCompositeWindowGroup.  Use a singleton dummy object instead.  This is
also good for performance.

 * src/mwindowpropertycache.h (MWindowDummyPropertyCache):
   new class
 * src/mwindowpropertycache.cpp:
   - MWindowPropertyCache::MWindowPropertyCache(): new constructor,
     creating an "invalid" object.
 * src/mcompositewindowgroup.cpp:
   use the MWindowDummyPropertyCache singleton

7 years agoFixes: NB#205707 - System dialogs are not shown
Kimmo Hämäläinen [Mon, 22 Nov 2010 16:34:19 +0000 (18:34 +0200)]
Fixes: NB#205707 - System dialogs are not shown
- mark them visible because the animation does not do it

7 years agoImplement support for multi-part decorator
Kimmo Hämäläinen [Mon, 22 Nov 2010 14:24:10 +0000 (16:24 +0200)]
Implement support for multi-part decorator

7 years agomore fixes for NB#202713 + fix status menu stacking issue
Kimmo Hämäläinen [Fri, 19 Nov 2010 14:50:47 +0000 (16:50 +0200)]
more fixes for NB#202713 + fix status menu stacking issue
- redirection of windows now happens before the overlay changes

7 years agoFixes: NB#202713 - New implementation for fullscreen switching
Kimmo Hämäläinen [Fri, 19 Nov 2010 13:19:53 +0000 (15:19 +0200)]
Fixes: NB#202713 - New implementation for fullscreen switching
- overlay shape changes are done before direct rendering windows to avoid
  extra copy in X server side
- don't direct render unmapped windows -- damage code does not need it anymore

7 years agoadd MCompositeManagerPrivate::changed_properties to signify when we should
Kimmo Hämäläinen [Fri, 19 Nov 2010 08:58:18 +0000 (10:58 +0200)]
add MCompositeManagerPrivate::changed_properties to signify when we should
check stacking/focus/etc. because of a property change

7 years agoMerge branch 'staging' of git@gitorious.org:meegotouch/meegotouch-compositor into...
Abdiel Janulgue [Thu, 18 Nov 2010 19:56:04 +0000 (21:56 +0200)]
Merge branch 'staging' of git@gitorious.org:meegotouch/meegotouch-compositor into staging

7 years agoChanges: Fix build errors on i386/Scratchbox variants
Abdiel Janulgue [Thu, 18 Nov 2010 19:53:42 +0000 (21:53 +0200)]
Changes: Fix build errors on i386/Scratchbox variants
- Further ifdefs to temporarily disable MCompositeWindowGroup on GLX version
- Fix crash when stopTimer is invoked on the destructor of a MCompositeWindowGroup item

7 years agofix transiency detection for the decorator
Kimmo Hämäläinen [Thu, 18 Nov 2010 15:41:06 +0000 (17:41 +0200)]
fix transiency detection for the decorator

7 years agoImplement new UI for application not responding
Kimmo Hämäläinen [Thu, 18 Nov 2010 11:33:44 +0000 (13:33 +0200)]
Implement new UI for application not responding
- MCompositeScene::drawItems(): don't clear the screen if there is no animation
- don't ping window that is beneath an app window that does not support pinging
- don't queue up more and more ping messages for hung windows

7 years agoChanges: Updated variable names to clearer values + Fix forgotten
Abdiel Janulgue [Wed, 17 Nov 2010 16:07:37 +0000 (18:07 +0200)]
Changes: Updated variable names to clearer values + Fix forgotten
resource de-allocation for the depth attachment

7 years agoChanges: Add a depth buffer attachment to the framebuffer object so we can
Abdiel Janulgue [Wed, 17 Nov 2010 15:06:04 +0000 (17:06 +0200)]
Changes: Add a depth buffer attachment to the framebuffer object so we can
take advantage of GPU depth test to properly render Z-order of off-screen items
irrespective of item ordering. Fix naming conflict with MWindowPropertyCache::windowGroup().

7 years agoChanges: Optimizations in the painting engine to reduce GPU buffer updates only
Abdiel Janulgue [Wed, 17 Nov 2010 14:57:53 +0000 (16:57 +0200)]
Changes: Optimizations in the painting engine to reduce GPU buffer updates only
when damage is received for off-screen rendered windows.
- Update variable names for clarity and match virtual function signatures.
- Temporarily disable MCompositeWindowGroup support for GLX backend

7 years agoChanges: Initial implementation for composite window groups
Abdiel Janulgue [Wed, 17 Nov 2010 14:46:23 +0000 (16:46 +0200)]
Changes: Initial implementation for composite window groups
Details: Add the MCompositeWindowGroup class. MCompositeWindowGroup allows a collection
of windows to be rendered  as a single texture. This patch adds support for the
compositor paint engine to render windows that are indirectly rendered to FBO's.
Introduced some refactoring to the EGL backend as well to support render to texture
functionality. Some fixes were necessary in the MCompositeWindowShaderEffect class to
allow effects to be rendered to MComositeWindowGroup items as well

RevBy: TrustMe

7 years agoMerged master
Abdiel Janulgue [Wed, 17 Nov 2010 13:22:57 +0000 (15:22 +0200)]
Merged master

7 years agofix "windowctl J"
Kimmo Hämäläinen [Mon, 15 Nov 2010 12:11:21 +0000 (14:11 +0200)]
fix "windowctl J"

7 years agoadd x11-utils to mcompositor-functional-tests dependencies
Kimmo Hämäläinen [Mon, 15 Nov 2010 09:26:29 +0000 (11:26 +0200)]
add x11-utils to mcompositor-functional-tests dependencies