Commit Graph

21158 Commits

Author SHA1 Message Date
Mike Blumenkrantz 4c311d301e protect xdg-shell functions from accessing deleted client data
this is mostly an issue for internal windows since they get deleted by
the compositor before the client is aware
2016-04-26 10:57:00 -04:00
Mike Blumenkrantz 80e46c59bf ensure evry gadget popups effectively clamp to their zones 2016-04-26 10:57:00 -04:00
Mike Blumenkrantz 648f9e14f5 remove explicit edje_init/shutdown calls
elm already handles this
2016-04-26 10:56:59 -04:00
Mike Blumenkrantz f5c7df414d always end drag operations on failure
fix T3507
2016-04-26 10:56:59 -04:00
Mike Blumenkrantz c8f1e02171 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-26 10:56:59 -04:00
Mike Blumenkrantz 93e47dda3a remove some X references in settings dialogs
fix T3435
2016-04-26 10:56:59 -04:00
Mike Blumenkrantz dd07d01737 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-26 10:56:59 -04:00
Mike Blumenkrantz 2085721ce7 set NULL image data in _e_comp_object_pixels_get() on failure
ensure that nothing is rendered here
2016-04-26 10:56:59 -04:00
Mike Blumenkrantz 12534a9564 do not show unsized comp objects during theme apply 2016-04-26 10:56:59 -04:00
Mike Blumenkrantz 42b84fb7c8 ensure resize is still deferred for changes.shape clients during failed resize
ref c212bb4e21
2016-04-26 10:56:59 -04:00
Mike Blumenkrantz 72374fee7f 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-26 10:56:59 -04:00
Mike Blumenkrantz b431fa2939 slightly simplify image data setting in e_comp_object_render() 2016-04-26 10:56:59 -04:00
Mike Blumenkrantz 3ca83ffcb8 remove unnecessary conditional in e_comp_object_render() 2016-04-26 10:56:59 -04:00
Mike Blumenkrantz 29f30d678d ensure damages do not get added for shapeless x11 clients
ref 32d4c2f2b9

ref T3157
2016-04-26 10:56:59 -04:00
Mike Blumenkrantz 615bc7f7e5 don't defer resizes+queue render updates for shapeless or pending shaped clients
this basically guarantees a misrender
2016-04-26 10:56:59 -04:00
Mike Blumenkrantz 0803d07f7b don't force full damage on x11 override clients
reverts f6be761226

this didn't fix anything and can cause irregularities in rendering
2016-04-26 10:56:59 -04:00
Mike Blumenkrantz 24aa26b724 do not attempt to show x11 override windows
fix T3444, T1759, T2735
2016-04-26 10:56:59 -04:00
Mike Blumenkrantz ed4a503ccd unify client filtering checks from e_place_desk_region_smart() 2016-04-26 10:56:59 -04:00
Mike Blumenkrantz 2e52e59f4a ensure that wl clients do not run extra render on hide twice
fixes crash when applications crash
2016-04-26 10:56:59 -04:00
Mike Blumenkrantz cb291348c3 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-26 10:56:59 -04:00
Carsten Haitzler 136b99dff8 e syscon - dont show syscon if desklock is up - you can't respond
this also will lock desklock as syscon grabs input away from desklock.
press pwr button while desklock is up to find out. this fixes that.

@fix
2016-04-26 10:56:58 -04:00
Mike Blumenkrantz 13f8b1f158 more accurately reject wl selection setting based on whether serial is invalid
copycopycopycopy
2016-04-26 10:56:58 -04:00
Mike Blumenkrantz cce8ce6401 add copyright headers (MIT) from weston to e_comp_wl_data
these files were created containing code which was very obviously copied from
weston. when copying code, copyright headers must also be copied in order to
comply with licenses.
2016-04-26 10:56:58 -04:00
Mike Blumenkrantz 0565f5aa5b redo wl (xdg)shell surface ping
- remove (wrong) global variables which tracked client-specific resources
- start ping upon creating a shell surface
- track client-specific shell resources on a per-client basis
2016-04-26 10:56:58 -04:00
Mike Blumenkrantz 84ee6c0300 trivial wl shell module cleanups
remove some old comments, don't pass global data as function param
2016-04-26 10:56:58 -04:00
Mike Blumenkrantz b5ef01ddac make startup/restart app exec timing protocol-specific
this allows different display protocols to start their applications at
different times to ensure that any initialization has completed prior to
starting anything requiring a window

fix T3475
2016-04-26 10:56:58 -04:00
Mike Blumenkrantz 46cbc02939 reject xwayland clients in wl client resize handlers
fix T3461
2016-04-26 10:56:58 -04:00
Shuhrat Dehkanov be742c4adc xkbswitch: establish parent/child relationship
Summary:
There is an edge case that results in SIGFAULT in Enlightenment when
"Keyboard Settings" dialog is closed prior to "Add New Configuration"
dialog and "OK" button is pressed in the latter one.
This makes sure that closing the dialogs follows the parent/child logic.

@fix

Test Plan:
1. Go to Settings -> All -> Input -> Keyboard and press "Add"
2. Observe that "Add New Configuration" dialog is opened
3. Select/highlight any new layout
4. Go back to "Keyboard Settings" dialog and close it
5. Press "OK" in "Keyboard Settings" dialog
6. Observe that Enlightenment sigfaults

Reviewers: zmike, raster

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3901
2016-04-26 10:56:58 -04:00
Mike Blumenkrantz 0c0377c686 allow mixer volume increase actions to exceed 100%
ref 0bbb20a3be

cc @raster probably should have some kind of theme indicator in the theme
for "high" volumes > 100%
2016-04-26 10:56:58 -04:00
Mike Blumenkrantz 6c6ba942da redo e_place_desk_region_smart() to handle multiple screens
this code is unbelievably bad.

fix T3404
2016-04-26 10:56:58 -04:00
Mike Blumenkrantz 8c8432598c unify a large portion of repeated code in e_place
this is still a nonsensical nightmare, but at least now it's all in
one place
2016-04-26 10:56:58 -04:00
Carsten Haitzler 2dfc64e220 e intel - fix number 2
so the crazieness in e+intl was because of eina_str_tolower()
silliness... so work with it and another patch to follow on from
01e53356f8 ...

@fix
2016-04-26 10:56:58 -04:00
Carsten Haitzler d70a1b71ba e intl - fix string buffer length size
this intl code was broken using sizeof a pointer (sizef char *) vs
size of the actual buffer used.

@fix
2016-04-26 10:56:58 -04:00
Mike Blumenkrantz 334cf0062f ignore maximized+fullscreen windows when placing new clients
this should improve perf and placement

ref T3404
2016-04-26 10:56:58 -04:00
Mike Blumenkrantz 203a118eb4 change client un/maximize_pre callback location to occur after safety checks 2016-04-26 09:59:17 -04:00
Mike Blumenkrantz b4f664b7bc make e_client_has_xwindow() more wayland-only friendly 2016-04-26 09:59:17 -04:00
Mike Blumenkrantz f2486ed7fc directly include e.h in efm device backends
fixes some compile errors related to include ordering

ref 68587276cf
2016-04-26 09:59:17 -04:00
Mike Blumenkrantz 6f1c09689d don't send duplicate configure to wayland clients during unfullscreen
this causes unnecessary client-side resizing
2016-04-26 09:59:16 -04:00
Derek Foreman adaea026a8 Remove unwanted debug detritus from last commit
#Oops

Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2016-04-26 09:59:16 -04:00
Derek Foreman 7060ce6567 Clean up some header inclusion
Including certain headers in the wrong order can cause problems if
we're configured to use beta api (right now wayland forces this).

In most cases we should just be including e.h and not the individual
EFL headers anyway.  This fixes some of that.

fix T3426, T3428
2016-04-26 09:59:16 -04:00
Mike Blumenkrantz 8f1dfe0d79 do not unconditionally update position+size when changing wl client csd geometry
this breaks...everything
2016-04-26 09:59:16 -04:00
Mike Blumenkrantz eef14b3619 do not send shell configures for deleted wl clients 2016-04-26 09:56:39 -04:00
Mike Blumenkrantz 5ed82b8e38 set WAYLAND_DEBUG=0 during wl compositor init
ensures that debug logs won't get both compositor and client output,
making the log impossible to read
2016-04-26 09:56:35 -04:00
Mike Blumenkrantz 12d1d70ca4 reject client maximize attempts using identical maximize params 2016-04-26 09:56:31 -04:00
Mike Blumenkrantz 3ad934b7c2 disable xwayland module if exe cannot be found during configure
should probably make this a --flag at some point

fix T3415
2016-04-26 09:56:22 -04:00
Mike Blumenkrantz a2d6a3e0ed don't print xwayland path twice... 2016-04-26 09:56:05 -04:00
Mike Blumenkrantz da2f778897 print xwayland exe path in debug logs
ref T3415
2016-04-26 09:56:02 -04:00
Mike Blumenkrantz f65a5bb3bb wl popup surfaces should not receive focus on show if parent is not focused
fix T3339 harder
2016-04-26 09:55:37 -04:00
Mike Blumenkrantz 350dcf13f0 remove video child references from wl compositor
this is an x11-only thing
2016-04-26 09:55:25 -04:00
Mike Blumenkrantz 4471c63aa4 add back CTRL to keybindings editor display
ref fcac68958e

fix T3412
2016-04-26 09:55:20 -04:00