Commit Graph

337 Commits

Author SHA1 Message Date
Mike Blumenkrantz faac750727 resolve gadcon-related float-equal warnings
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
2017-01-06 12:57:33 -05:00
Mike Blumenkrantz 495fa3a7ae unpopulate all gadcons during shutdown
failing to unpopulate at this time leaves gadcon clients alive until
a time after module shutdown has occurred, resulting in crashes when
gadcon clients destroy themselves and attempt to access module-global
data

ref T2811
2015-12-29 12:52:56 -05:00
Mike Blumenkrantz 4eaeabc1c3 block gadcon thaw on unpopulate when gadcon is deleted
saves a huge amount of unnecessary calc time
2015-09-22 12:36:12 -04:00
Carsten Haitzler 10cd94a953 e shelf - small missing set of signals - tell theme when inset scrolls
the shelf theme actually can't know if there is scrollable content in
that direction when a shelf item has autoscroll on and has content in
that direction. this is kind of a missing theme capability that is
incredibly useful if you want to do certain kinds of themes. this is
fairly minor and i'd consider ok for e20 release as we aren't even
doing alphas yet...
2015-08-21 12:43:56 +09:00
Mike Blumenkrantz 442d63d8d6 track button mask for all drags, only end drag when mask has depopulated
previously, beginning a drag with the left button, then pressing and
releasing another button would result in the drag terminating without
the original button being released
2015-08-12 15:39:42 -04:00
Yomi 0dc33a5aeb Fix misspellings in E's files.
Summary: Fix misspellings and spaces in E's files.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2676
2015-06-16 16:10:21 -04:00
Mike Blumenkrantz 8f2d8748e1 add gadcon visibility handling, send hide signal to pager desks on hide
this (in combination with elm changes) should greatly reduce cpu usage
2015-06-08 14:53:31 -04:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz 5ae00e6525 redo drop handlers to take an E_Object and Evas_Object
temp change to fix crashing when closing fwins with ctrl+w
2015-04-27 15:39:43 -04:00
Mike Blumenkrantz 471dcb24cb __UNUSED__ -> EINA_UNUSED
this has been bugging me forever. __UNUSED__ is no longer a valid macro here.
2015-03-18 18:09:09 -04:00
Mike Blumenkrantz 09ec213a31 remove e_util_zone_current_get() usage 2015-03-13 17:58:45 -04:00
Mike Blumenkrantz ba7c1ac49c remove E_Zone->comp member 2015-03-13 17:44:24 -04:00
Mike Blumenkrantz bacf638d73 remove E_Drag->comp and E_Comp param from e_drag_new() 2015-03-13 16:21:15 -04:00
Chris Michael 0c4f3ff48e de-e_comp_get()-ify gadcon
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 12:48:50 -05:00
Mike Blumenkrantz f691a8fa18 fix elm box parenting 2015-01-20 19:20:04 -05:00
Mike Blumenkrantz 922af2c52f remove e_comp_list(), deprecate all related functions for pending removal
there is only one E_Comp which can now be accessed by the e_comp global.

if you're editing a file with some uses of these deprecated functions, replace their usages with appropriate references to this variable

pass -Wno-deprecated-declarations to ignore these warnings during build
2015-01-05 15:39:15 -05:00
Mike Blumenkrantz a11e8d5f2e e_box -> elm_box conversion
the next installment in the exciting adventure game Elementary Wars!

happy new year from #teamborker
2015-01-01 17:45:34 -05:00
Mike Blumenkrantz 99589eb5af remove E_Win+e_canvas, convert all internal wins to use elm_win
known issues:

* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00
Mike Blumenkrantz ec1cd25cfe rename E19* defines/texts to just E so they don't need to keep being updated 2014-09-09 12:30:50 -04:00
Gwanglim Lee ec8a6b829e fix crash after moving gadget between two zones
Summary:
add check new_gcc into the gadman's gadget add handler to prevent invalid ref_count increase
while moving between two zones. and also add object clean code for new_gcc and drag_gcc
when gadget is dropped.

Fixes T722

Test Plan:
1. create clock module on gadcon desktop (settings->gadgets, select "background" under layers, click "configure layer" and add a clock gadget).
2. drag clock gadget from one screen to the other. drop it there.
3. drag clock back to first screen
4. right click on clock and select "clock->remove".

Reviewers: raster, devilhorns, zmike

Subscribers: cedric

Maniphest Tasks: T722

Differential Revision: https://phab.enlightenment.org/D1256
2014-08-11 19:35:37 -04:00
Gwanglim Lee bb7173be6c fix gadcon client del event typos
Summary: fix E_Event_Gadcon_Client_Del typos

Test Plan: N/A

Reviewers: zmike, raster, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1260
2014-08-04 10:04:12 -04:00
Cedric BAIL 3f9af38da2 edje: remove use of deprecated functions. 2014-06-07 21:10:55 +02:00
Mike Blumenkrantz 19f8126847 prevent fallthrough in determining gcc visibility
CID 1040127
2014-03-13 13:10:55 -04:00
Mike Blumenkrantz 2425ec363c always init container coords when beginning gadcon drag
CIDs 1135457, 1135456
2014-03-13 10:37:01 -04:00
Carsten Haitzler 0313a54da4 e-object-check - this has been turned off since 2007 - back on
this is crazy. all the E_OBJECT_CHECK macros have been off since 2007.
this is just nuts. either remove them, or have them on by default, but
not off. so this turns them back on and fixes code to actually compile
again with them on, as this broke over the years. a lot of code
expects/assumes thatthese willcheck types and null ptrs, but they
don't because they are off by default.
2014-02-26 04:28:12 +09:00
Mike Blumenkrantz c8ba69e3bf gadgets now delete the right menu when menu is deactivated
T906
2014-02-06 12:33:39 -05:00
Mike Blumenkrantz 0943d9f7cc remove resize callback on gadcon parent
this sometimes gets called after the gadcon is deleted which leads to a crash
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz b6e94d02ed don't recalc a gadcon on unpack if we're stopping, also don't recalc gadcons during stop when unpopulating
this caused a lot of slowdown, and even possible crashes, during restarts
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz 12d7405a0f huge wl fixup (wayland clients actually working again)
* try to clear up build system for separating out ecore-x

* add #ifdefs for lots of ecore-x stuff

* break out some internal e wl functions for reuse in api

* store wl surface buffers as an inlist

* add protocol-specific client compositor data

** move lots of X client attributes here

* add pixmap type checks to a number of X-specific things, such as grabinput, to block them for non-X clients

* rearrange startup order to work with wayland

* move X screensaver code to e_comp_x

* flag modules still requiring X with -DNEED_X
2014-01-14 20:28:57 -05:00
Mike Blumenkrantz 86656e4df9 compositor rewrite / charlie-foxtrot situation
huge fustercluck commit because there wasn't really a way to separate out the changes. better to just rip it all out at once.

* compositor and window management completely rewritten. this was the goal for E19, but it pretty much required everything existing to be scrapped since it wasn't optimized, streamlined, or sensible. now instead of having the compositor strapped to the window manager like an outboard motor, it's housed more like an automobile engine.

** various comp structs have been merged into other places (eg. E_Comp_Zone is now just part of E_Zone where applicable), leading to a large deduplication of attributes

** awful E_Comp_Win is totally dead, having been replaced with e_comp_object smart objects which work just like normal canvas objects

** protocol-specific window management and compositor functionality is now kept exclusively in backend files

** e_pixmap api provides generic client finding and rendering api

** screen/xinerama screens are now provided directly by compositor on startup and re-set on change

** e_comp_render_update finally replaced with eina_tiler

** wayland compositor no longer creates X windows

** compositor e_layout removed entirely

* e_container is gone. this was made unnecessary in E18, but I kept it to avoid having too much code churn in one release. its sole purpose was to catch some events and handle window stacking, both of which are now just done by the compositor infra

* e_manager is just for screensaver and keybind stuff now, possibly remove later?

* e_border is gone along with a lot of its api. e_client has replaced it, and e_client has been rewritten completely; some parts may be similar, but the design now relies upon having a functional compositor

** window configuration/focus functions are all removed. all windows are now managed solely with evas_object_X functions on the "frame" member of a client, just as any other canvas object can be managed.

*** do NOT set interceptors on a client's comp_object. seriously.

* startup order rewritten: compositor now starts much earlier, other things just use attrs and members of the compositor

* ecore_x_pointer_xy_get usage replaced with ecore_evas_pointer_xy_get

* e_popup is totally gone, existing usage replaced by e_comp_object_util_add where applicable, otherwise just placed normally on the canvas

* deskmirror is (more) broken for now

* illume is totally fucked

* Ecore_X_Window replaced with Ecore_Window in most cases

* edge binding XWindows replaced with regular canvas objects

* some E_Win functionality has changed such that delete callbacks are now correctly called in ALL cases. various dialogs have been updated to not crash as a result

comp files and descriptions:

e_comp.c - overall compositor functions, rendering/update loop, shape cutting

e_comp_x.c - X window management and compositor functionality

e_comp_wl.c - Wayland surface management and compositor functionality

e_comp_canvas.c - general compositor canvas functions and utilities

e_comp_object.c - E_Client->frame member for managing clients as Evas_Objects, utility functions for adding objects to the compositor rendering systems

additional authors: ivan.briano@intel.com

feature: new compositor

removal: e_border, e_container, e_popup
2014-01-14 20:22:02 -05:00
Mike Blumenkrantz 7a8ad8080e finally fix bug where gadgets on shelves would randomly reorder during drags
ticket #everydamngadgetticketevercreated
2013-12-05 12:27:46 -05:00
Mike Blumenkrantz a0edbd69b0 don't try to apply gadcon container geometry when injecting
fixes case of gadgets dragged onto a shelf always going to the right side

ticket #jpeg
2013-12-05 12:24:50 -05:00
Mike Blumenkrantz ed6bfb1955 subtract zone position from initial gadcon client drag coordinates
T369
2013-12-04 23:09:12 -05:00
Mike Blumenkrantz c49d5eea96 remove more calls to useless gadcon function 2013-12-04 23:08:50 -05:00
Mike Blumenkrantz 0b6ec2d07a move and unify a gadcon drag block 2013-12-04 23:06:57 -05:00
Mike Blumenkrantz 84cb16cf8f remove call to useless gadcon function 2013-12-04 23:05:50 -05:00
Mike Blumenkrantz 842d830c39 remove ability to alter gadgets in EFM toolbars
this whole site as a "fully functioning gadcon" is pretty broken (by design), and it's not worthwhile to fix it at this point
2013-12-04 12:21:22 -05:00
Mike Blumenkrantz 4446442163 remove gadcons from custom populate job during deletion
this showed up on my valgrind radar while xrandring, so it's safety time
2013-10-07 04:15:18 +01:00
Mike Blumenkrantz 3f001ea778 changing aspect on a non-layouted gadcon client sets evas aspect hint instead 2013-08-13 11:27:42 +01:00
Mike Blumenkrantz 3024562fcc bugfix: setting min size on a gadget now propagates to desktop gadgets 2013-08-13 10:22:24 +01:00
Mike Blumenkrantz 5b3408bb85 s/E17/E18/ 2013-06-18 15:44:57 +01:00
Mike Blumenkrantz 5ac0b9df10 remove unnecessary call to evas_object_data_get during gadget deletion 2013-05-23 11:16:00 +01:00
Mike Blumenkrantz 70d68a30e0 giant comp rejiggering commit #4
* dnd canvas removed, dnd objects now drawn directly on compositor canvas

* dnd now correctly picks the top-most dnd-receiver location as its drop target instead of just using the first one in the list

* various other small changes to go along with this
2013-02-22 13:18:30 +00:00
Mike Blumenkrantz 19f79acb45 add e_gadcon_repopulate
this allows unpopulate+repopulate calls to occur while the layout is frozen, providing a substantial speedup
2013-02-22 13:18:30 +00:00
Mike Blumenkrantz 536254e2ce start drag if gadget has been moved the size of the gadget
when a gadget is at the edge of its gadcon, it can't move more than this amount, so we have to start the drag immediately
2013-02-22 13:18:30 +00:00
Mike Blumenkrantz 56fdcf1faa use e_gadcon_zone_get for dnd-related functions to ensure we get the right zone: fixes toolbar dnd 2013-02-22 13:18:30 +00:00
Mike Blumenkrantz 4b9113f3ba use new comp layer functions to correctly set layer for gadget mover objects...this needs to be redone entirely along with the rest of gadcon 2013-02-22 13:18:30 +00:00
Mike Blumenkrantz bf9933a336 E_FN_DEL macro renamed to E_FREE_FUNC with param order swapped for consistency 2013-02-22 13:18:30 +00:00
Mike Blumenkrantz 88f00310d7 e toolbar gadgets no longer crash when trying to display a popup
SVN revision: 84258
2013-02-20 09:13:03 +00:00
Mike Blumenkrantz 32157d8fe5 fix gadget event object layering for dnd
SVN revision: 84239
2013-02-19 14:29:57 +00:00