summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2011-01-05Move sources around into relevant filesglibmm-experimentalSam Spilsbury4-200/+219
2011-01-05Use clock_gettime and add a TIMESPECDIFF macroglibmm-single-timerSam Spilsbury2-20/+14
2011-01-05Make the timeout for the zero-timer case 15, just so that we don'tSam Spilsbury1-1/+3
end up spamming things (15msec isn't that long)
2011-01-04We can have a brief spin-wait system in place for CompTimeoutSource sinceSam Spilsbury3-21/+9
there isn't any case where we don't have timers running
2011-01-04Re-write timers to be a regular Glib::SourceSam Spilsbury3-76/+164
We previously used Glib::TimeoutSource but this one is broken for a number of usecases that we need, so create our own timeout source which is similar to the stock one, except that we only insert one source into the glib stack with grouped timeout times for the rest of our timers. Allows the use of setTimes () and setCallback () without glib becoming a disaster-zone. Also fixes a number of crashes related to the buggy glibmm implementation.
2011-01-02Merge branch 'master' of git://git.compiz.org/compiz/core into ↵Sam Spilsbury3-12/+17
glibmm-experimental
2011-01-02Only set unmanaging bit while window is actually being unmanaged.Sam Spilsbury2-10/+14
Also de-obfuscate gravity handling in _NET_WM_MOVERESIZE request
2010-12-31Fix crashes when loading plugins on the command lineSam Spilsbury1-2/+3
plugin.cpp:plugins is a reverse list, so iterate it in reverse
2010-12-13Merge git://git.compiz.org/compiz/core into glibmm-experimentalSam Spilsbury1-1/+3
2010-12-13Fix buffer overflow on some platforms (Non NULL passed to XOpenDisplay)Sam Spilsbury1-1/+3
2010-12-08Merge git://git.compiz.org/compiz/core into glibmm-experimentalSam Spilsbury7-196/+406
Conflicts: include/core/screen.h
2010-12-07Don't stack focus-denied windows in a disallowed positionSam Spilsbury1-6/+11
When a window is focus-stealing-prevented, we should only stack it below the active window if that is possible. If it's not (the window has the "Above" state, for example), then we should stack it at the normal location. http://bugs.opencompositing.org/show_bug.cgi?id=1304 Forward port 984bca5801d6179b9f8081c4b6c466063975d940 to master
2010-12-07Only reflect the decoration size in MapRequest gravity adjustment, notSam Spilsbury1-5/+5
the whole window size. Forward port a86c461684f122fd286884c4ff28f6ea673fe669
2010-12-07Move window position validation to validateWindowResizeRequest function.Sam Spilsbury1-55/+57
Forward port 2a37340f9610e7f80a66ed6ab48190c181784f6b to master
2010-12-07Don't make minimized windows unmanaged.Sam Spilsbury1-1/+1
Forward port 8dcfbb256322565228cbcda5230de95343887fac
2010-12-07Fix window offset at the start of close animation.Sam Spilsbury2-21/+22
Forward port 0a28ca484a8a72060b580e0ccc75ea20f3ddab1a
2010-12-07Fix typoSam Spilsbury1-2/+2
Forward port 466184685e570b6736adce7800253815d72e1c02 to master
2010-12-07Fix assertion if core is specified as plugin on the command line.Sam Spilsbury1-14/+21
Forward port 2a0087732f23cd87284366ec0dc224cbd5fd68ec to master
2010-12-07Avoid adding core twice to plugin listSam Spilsbury1-0/+2
Forward port 20cdf69d096616104cd26fc30c8efd7e4e4e164d to master
2010-12-07Fix sibling checking logic.Sam Spilsbury1-2/+2
Forward port f4af2061d93057843efd437b30b8199dc89defdd to master
2010-12-07Make sure findValidStackSibling below doesn't return a sibling thatSam Spilsbury1-0/+15
we're not allowed to stack under. Forward port 1baf514fefb9177764af99cf508596686583244e to master
2010-12-07Fix up coding style, add some comments.Sam Spilsbury1-0/+6
Forward port 24dd71f04892ddd031ac2bf7b166e10b74aa1bbd to master
2010-12-07Never unload plugins passed to the cmdlineSam Spilsbury3-20/+80
Forward port 27430deae222b4380c0e91da849f930a297afb73 to master
2010-12-07Revert gravity adjustment made at MapRequest time at UnmapNotify timeSam Spilsbury3-16/+38
Forward port a0be58f5e9f5e419af4f5f15505e9a9f6fe47bdd to master
2010-12-06Revert "Fix windows being forever treated as "not managed" in focus () and ↵Sam Spilsbury1-1/+0
not entering into scale mode, etc" This reverts commit 51e01727d309f39e3f42ecf6b53b4ebb31a385dc. There is a better way to do this
2010-12-06Fix startup order.Sam Spilsbury4-93/+183
Previously we were doing something like this: init -> screen init -> init core plugin screen -> create windows -> eventLoop -> updatePlugins -> initPlugin (initScreen (initWindow))). This order has a number of problems with it - namely that config plugins will be loaded on one full pass of the event loop and then core options are initialized, before which we were doing certain startup procedures on the default options, which resulted in strange race condition bugs. Also, if we are compositing we have a brief (visible) switch from 2D mode to 3D mode - in reality we want to be in 3D mode ASAP. The new order is init -> updatePlugins (load plugins specified on command line) -> screen init -> load command line plugins -> update plugins (load new plugins specified by config plugins on the command line) -> init screens -> create window (init plugins for window) -> eventLoop. This means that it takes longer for us to get to the event loop, but at least we can zip through the initialization phase quite quickly
2010-12-05Merge commit 'a8ad8f2c28a95ee8ebc39d404069586942c2e292' into glibmm-experimentalSam Spilsbury1-1/+2
2010-12-05Merge commit 'ce53cec922f54c754e8c7eb19d786a2dffe0f496' into glibmm-experimentalSam Spilsbury2-76/+28
2010-12-04Fix memory leaks introduced in last commitJason Smith1-1/+2
2010-12-05Fix windows being forever treated as "not managed" in focus () and not ↵Sam Spilsbury1-0/+1
entering into scale mode, etc We need to re-set unmanaging too once managed is set again
2010-12-03Fix compregion to be a more true to form wrapper of X11 regionJason Smith2-76/+28
2010-12-03Merge branch 'master' of git://git.compiz.org/compiz/core into ↵Sam Spilsbury4-2/+21
glibmm-experimental
2010-12-03Fix some focus issues:Sam Spilsbury4-2/+16
- Don't give soon-to-be-unmanaged windows focus when closing a window - Transfer focus to another window if a window that is about to get focus is closed Forward port 5a78a90a3ec9de02b8e52790fbc376a2502cead7 to master. Fixes gnome-do issue
2010-12-03Revert "Ensure that we can change the input focus, even if we requested a ↵Sam Spilsbury4-52/+15
client to take focus and it failed to do it before it was unmapped" This reverts commit 1084f0be5c200d46ad3b4358a477963d31040736. Danny suggested a better way to do this from a commit to 0.8
2010-12-03Ensure that we can change the input focus, even if we requested a client to ↵Sam Spilsbury4-15/+52
take focus and it failed to do it before it was unmapped
2010-12-02Make w->managed () wrapableSam Spilsbury1-0/+5
2010-12-02Fix debug messageSam Spilsbury1-1/+1
2010-12-02Merge branch 'glibmm-experimental' of ↵Unity2-8/+23
git://git.compiz.org/users/dbo/compiz-with-glib-mainloop into glibmm-experimental
2010-12-02Remove doPoll () and rewrite CompWatchFd to use Glib::IOSourceSam Spilsbury3-65/+116
This changes compiz to monitor file descriptors directly in the glib mainloop which fixes things like not exiting correctly with session managers and the like.
2010-11-27No need to reset the source, it happens for us on destructorSam Spilsbury1-2/+0
2010-11-27Detect when glib is being stupid and calls ::internalCallback even though we ↵Sam Spilsbury2-6/+23
asked for the source to be removed (prevents access to free'd memory once we delete a CompTimer)
2010-11-25Fix hang on exitSam Spilsbury1-1/+3
2010-11-20Add a short TODOSam Spilsbury1-0/+2
2010-11-20Only use ::reset for the RefPtr because that will automatically take care of ↵Sam Spilsbury1-5/+0
destroying it for us
2010-11-20Port C based glib to C++ glibmmSam Spilsbury3-109/+122
2010-11-18Fix weird condition where gboolean != bool bitwise which caused timers to ↵Sam Spilsbury2-8/+14
segfault on occasion
2010-11-12Merge branch 'master' of git://git.compiz.org/compiz/coreSam Spilsbury4-25/+44
2010-11-12Use C++ falseSam Spilsbury1-1/+1
2010-11-11Spin the mainloop properlySam Spilsbury1-25/+28
2010-11-11Listen for FocusIn/FocusOut on NotifyGrab NotifyUngrab and set an internal ↵Sam Spilsbury3-1/+18
bit that plugins can query