Commit Graph

11116 Commits

Author SHA1 Message Date
Mike Blumenkrantz 8d4a75575c remove some cruft from _e_comp_wl_client_cb_new() 2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 2d85b8f111 ensure int64_t is used in all cases for wl pixmap ids 2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 4a47f74b3a enforce setting alpha on comp objects only after image data has been set
setting alpha can trigger a render sync, crashing if the old data is no
longer valid
2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 6d397e313b also check pixmap argb state when setting comp object alpha
more accurate for wayland
2016-05-11 15:40:09 -04:00
Mike Blumenkrantz f25b2ab434 toggle compositor canvas focus during init
this sets the toplevel focus flag in elm, allowing widgets on the compositor
canvas to receive focus in wayland compositors
2016-05-11 13:33:31 -04:00
Mike Blumenkrantz 89deb898ad change efm icon entry to only toggle focus in x11 compositors (runtime) 2016-05-11 13:32:52 -04:00
Mike Blumenkrantz f2ad686fc3 handle positioning of x11 overrides with csd accurately
when first applying the csd region to this type of window the coords must
be adjusted in order to account for the shadow

fix T2934, T2931
2016-05-10 16:04:57 -04:00
Mike Blumenkrantz e2390bebff only load wayland-specific modules on startup if they have been built 2016-05-10 14:18:09 -04:00
Mike Blumenkrantz e4f3179731 block keyboard sending for wl clients if a compositor grab is active
fix T3599
2016-05-10 13:00:01 -04:00
Mike Blumenkrantz f37590209d disable focus effects for windows with csd
fix T3408
2016-05-10 12:35:06 -04:00
Mike Blumenkrantz 16797009c0 ensure child windows are placed on screen
when centering a child over its parent, checks were not made to ensure that
by centering the child it had not gone offscreen
2016-05-10 12:13:12 -04:00
Mike Blumenkrantz 7ebaa1ffb3 make init fail if a dbus session connection cannot be created
typically this indicates a broken session manager or someone trying to run
a wayland session without using dbus-launch
2016-05-09 13:30:40 -04:00
Mike Blumenkrantz c286fe48c0 prune uuid remembers on clean startup
ensure that stale sessions are destroyed regularly
2016-05-06 14:35:16 -04:00
Mike Blumenkrantz 411f378998 flag wl surfaces as internal during create() based on pid matching
fix T3596
2016-05-06 13:52:10 -04:00
Mike Blumenkrantz ef1772b8cb implement wl client session recovery
another small feature patch brought to you by insomnia

 #SamsungFeatures
2016-05-05 15:47:55 -04:00
Mike Blumenkrantz e0d1a572a1 bad copy/paste in _e_place_desk_region_smart_obstacle_add()
CID 1354988
2016-05-05 09:36:42 -04:00
Mike Blumenkrantz 4639062133 uninitialized vars in e_client_maximize_geometry_get()
CID 1354989, 1354990
2016-05-05 09:35:51 -04:00
Mike Blumenkrantz 32cf7162ed ensure lifetime for wl client focus timer
fixes some focus-out crashing
2016-05-03 20:27:02 -04:00
Mike Blumenkrantz 69370250d1 don't refocus deleted clients during wl compositor grab 2016-05-03 20:27:02 -04:00
Mike Blumenkrantz 53e0bf08bc further optimize window smart placement by reducing obstacle calcs
previously the obstacle list would build from the bottom up, skipping
fullscreen and maximized windows. this would lead to cases where windows
would be moved to avoid windows which were fully obscured, and also cases
where unnecessarily large amounts of looping would occur related to the
existence of maximized windows
2016-05-02 18:37:17 -04:00
Mike Blumenkrantz 049deb2c12 directly load extra wl modules during compositor init
speed++++++++
2016-04-28 17:58:45 -04:00
Mike Blumenkrantz 01ac84035f ensure that the startup apps cache handler has run before trying to start apps
fixes timing issues when running startup apps
2016-04-28 17:58:45 -04:00
Mike Blumenkrantz 20f1aa8727 feed mouse up events to internal wins before mouse out during action exec
ref 609276e12d

fix T3347
2016-04-28 12:00:17 -04:00
Mike Blumenkrantz 502662456f Revert "handle recursion more effectively in e_menu_hide_all()"
This reverts commit 5764bf680e.

this was a workaround for a behavior change in efl
2016-04-27 11:27:56 -04:00
Mike Blumenkrantz 5764bf680e handle recursion more effectively in e_menu_hide_all()
there were recent changes to evas object deletion mechanics which caused
this to begin crashing due to recent changes to evas object deletion mechanics
2016-04-26 10:43:07 -04:00
Mike Blumenkrantz 2c1e864fbc move wayland surface E_Client del check to a place where it's more useful
completely breaks wayland on first commit? off to an auspicious start!

ref d9679f765f
2016-04-26 08:58:50 -04:00
Eduardo Lima (Etrunko) 8acbf5d013 Fix warnings about uninitialized use of variables
src/bin/e_zone.c: In function ‘_e_zone_useful_geometry_calc’:
src/bin/e_zone.c:1272:14: warning: ‘geom.h’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (h) *h = geom.h;
              ^
src/bin/e_zone.c:1271:14: warning: ‘geom.w’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (w) *w = geom.w;
              ^
src/bin/e_zone.c:1270:23: warning: ‘geom.y’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (y) *y = geom.y + zy;
                       ^
src/bin/e_zone.c:1269:23: warning: ‘geom.x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (x) *x = geom.x + zx;
                       ^
src/bin/e_client.c: In function ‘e_client_maximize_geometry_get’:
src/bin/e_client.c:3754:16: warning: ‘y’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (my) *my = y;
                ^
src/bin/e_client.c:3753:16: warning: ‘x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (mx) *mx = x;
                ^
src/bin/e_client.c: In function ‘e_client_fullscreen’:
src/bin/e_client.c:4032:21: warning: ‘h’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         ec->saved.h = h;
                     ^
src/bin/e_client.c:4031:21: warning: ‘w’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         ec->saved.w = w;
                     ^
src/bin/e_client.c:4030:21: warning: ‘y’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         ec->saved.y = y;
                     ^
src/bin/e_client.c:4029:21: warning: ‘x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         ec->saved.x = x;
                     ^
Signed-off-by: Eduardo Lima (Etrunko) <eblima@gmail.com>
2016-04-25 19:40:42 -03:00
Derek Foreman d9679f765f wayland: Fix crash when attempting to create surfaces for deleted clients
Internal clients can be deleted by keybind before the surface create
callback fires resulting in a NULL pointer dereference.
2016-04-25 16:40:32 -05:00
Mike Blumenkrantz c3700297d7 remove explicit edje_init/shutdown calls
elm already handles this
2016-04-25 12:55:21 -04:00
Mike Blumenkrantz fcc996545c always end drag operations on failure
fix T3507
2016-04-25 12:24:44 -04:00
Mike Blumenkrantz 05451aeb36 treat POPUP_MENU window type as an override window for comp theme matching
ensures that the menu theme gets picked for wayland popups; probably needs
a more comprehensive solution for xdgs v6
2016-04-22 15:28:54 -04:00
Mike Blumenkrantz 2014de2fe6 Revert "do not revert client focus except for normal and dialog windows"
This reverts commit 5b119d437a.

I give this solution a B- for working but also totally ruining everything
2016-04-22 14:47:35 -04:00
Mike Blumenkrantz 5b119d437a do not revert client focus except for normal and dialog windows
fix T3432
2016-04-22 13:15:33 -04:00
Mike Blumenkrantz 5c0729221e only set "dialog" border for transient clients if window type is unset
fix T3157

from https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html :
_NET_WM_WINDOW_TYPE_DIALOG indicates that this is a dialog window.
If _NET_WM_WINDOW_TYPE is not set, then managed windows with
WM_TRANSIENT_FOR set MUST be taken as this type
2016-04-22 12:51:12 -04:00
Mike Blumenkrantz b94023c412 set NULL image data in _e_comp_object_pixels_get() on failure
ensure that nothing is rendered here
2016-04-22 12:45:26 -04:00
Mike Blumenkrantz 6f83ec7329 do not show unsized comp objects during theme apply 2016-04-22 12:45:04 -04:00
Mike Blumenkrantz d584c9a095 ensure resize is still deferred for changes.shape clients during failed resize
ref c212bb4e21
2016-04-22 12:13:11 -04:00
Mike Blumenkrantz 84cf7743b6 set NULL image pixel data during x11 render when no damages exist
fixes a weird corner case where shapeless clients try to sneak a fast one
by and you gotta be like http://i.imgur.com/irwmnCT.webm

ref T3157
2016-04-21 18:21:26 -04:00
Mike Blumenkrantz 881ccfc768 slightly simplify image data setting in e_comp_object_render() 2016-04-21 18:09:18 -04:00
Mike Blumenkrantz 77e8ab0926 remove unnecessary conditional in e_comp_object_render() 2016-04-21 18:06:58 -04:00
Mike Blumenkrantz 2a67b3a899 ensure damages do not get added for shapeless x11 clients
ref 32d4c2f2b9

ref T3157
2016-04-21 18:04:16 -04:00
Mike Blumenkrantz c212bb4e21 don't defer resizes+queue render updates for shapeless or pending shaped clients
this basically guarantees a misrender
2016-04-21 18:01:42 -04:00
Mike Blumenkrantz a97a50b306 don't force full damage on x11 override clients
reverts f6be761226

this didn't fix anything and can cause irregularities in rendering
2016-04-21 16:32:01 -04:00
Mike Blumenkrantz 019318b88f do not attempt to show x11 override windows
fix T3444, T1759, T2735
2016-04-21 15:28:55 -04:00
Mike Blumenkrantz f36f2d16bc unify client filtering checks from e_place_desk_region_smart() 2016-04-21 14:48:49 -04:00
Mike Blumenkrantz 08cb34f7ad ensure that wl clients do not run extra render on hide twice
fixes crash when applications crash
2016-04-21 13:55:23 -04:00
Mike Blumenkrantz 54e6da6576 only update wl dnd actions when applying focus 2016-04-21 13:55:23 -04:00
Mike Blumenkrantz aefa7d3795 always update wl dnd offer actions 2016-04-21 13:55:23 -04:00
Mike Blumenkrantz 42d67d51c3 do not perform input ungrab twice during dnd end in wayland
this was happening in both drag free and drag end: once is sufficient
2016-04-21 13:55:23 -04:00
Carsten Haitzler 76ed021006 e - e_start - update mtrack to use new debug mode for hunting bugs
this won't affect anyone who doesnt have a ~/.e-mtrack file ... this
is for debugging purposes and no others
2016-04-21 09:42:13 +09:00