This removes the need for khronos_[u]int64_t as well as the special
typdef EvasGL[u]int64.
Hopefully this should work on all platforms (note: [u]int64_t is
used in Eina APIs, so it is already required for EFL apps).
Fixes T3200
This should fix T3309
Snapshot objects are image objects, so the function is_opaque
exists. No need to bypass it. Also, alpha rectangles are not
opaque. Assume that anything with a filter is not opaque.
All of this fixes T3309 but the main point was on snapshot
objects (probably because the only point of a snapshot is
to apply a filter on it).
This commit partially fixes a phab ticket where toggling window border
state (elm_test -to "Window States") would cause the frame to be
destroyed thus making the window contents appear to jump around
ref T4092
NB: I call this a 'partial' fix because while it does fix the issue of
efl client apps, there is still some breakage in Enlightenment that
needs investigating.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Previously a drm event could create a new output or disconnect an output,
but could not re-enable an existing output.
This results in failure to properly wake from screen blanker.
Summary:
When using EDC written by another person, developer usually
does not need to know all specified parts in EDC but editable
like swallow, text or textblock parts.
The required flag tells whether the part is intended to be used outside EDC.
Reviewers: jpeg, cedric, raster, Hermet
Reviewed By: jpeg, raster
Subscribers: raster, NikaWhite, kimcinoo, jpeg
Differential Revision: https://phab.enlightenment.org/D3579
We're currently doing screenshots in E under wayland by copying data
out of the framebuffer, mmaping gbm buffers makes screenshots work
again when rendering with GL.
When using a mix of vblank and pageflip events like we're stuck with now
a failed flip is going to happen sooner or later. We fix this by triple
buffering. We shouldn't turn off the custom ticker.
This is essentially a cleaner redo of ef817f15f0.
Logic should be exactly the same as there, the different is that this
one shares the code between OT and non OT.
Please refer to that commit for more information.
This was not done correctly. This split the code, which is essentially
the same for both OT and non OT. It's the same logic with some minor
additions for OT, so most of the code should be together.
This reverts commit ef817f15f0.
Fixes T4068.
Simply querying the last glyph to determine the width of the glyph sequence
won't always work, as OT can have negative offsets (adjusts the placement of a
specific glyph better).
The solution is to calculate the "max width" of some sequence that will
guarantee us proper width results. The worst solution would be to iterate on all
the glyphs and sum up the max width. This is a bit impractical. Instead, we will
inspect just the "cluster" of the last glyph, if one exists.
This should have no performance impact on trivial cases, and very little impact
on the others.
@fix
Summary:
- Previously, mode change, color change updated
sd->selected, but did not send signals to edje of the item.
- Also, mode change in colorselector set sd->selected to
the first item even when palette is visible in previous mode.
- Now, when mode is changed, sd->selected is set NULL and send
unselected signal if palette is invisible, and keep sd->selected
if palette is visible.
- sd->selected is set NULL when color is changed in picker and
color bars because previous selected item is not current color of
colorselector
Test Plan:
1.
1) launch elementary_test colorselector.
2)Select any item and check the item is selected when palette is visible.
3) Change mode to Palette, Both, All, and check selected item is not changed.
(Previously, selected item is changed to the first item of the palette, but previous item was seen as selected.)
2.
1) launch elementary_test colorselector.
2) Select any item and check the item is selected when palette is visible.
3) Change mode to Components, Picker.
4) Change mode to Palette, and check none of items is selected.
(Previously, selected item is changed to the first item of the palette, but previous item was seen as selected.)
3.
1) launch elementary_test colorselector.
2) Select any item and check the item is selected when palette is visible.
3) Change mode to All.
4) Click arrows in Picker and color bars.
5) Observe selected item is not unselected when color is not changed, and selected item is unselected when color is changed.
4.
1) launch elementary_test colorselector.
2) Select any item and check the item is selected when palette is visible.
3) Press direction key and check selected item is changed.
(Previously, selected item's edje is not updated.)
Reviewers: woohyun, Hermet, jpeg, cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4156
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit just readds the layer setting code which made the frame
border be above content. This does make sense in some contexts
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
We need to be creating buffers with ARGB by default so that things
like Alpha/Transparency work when toggled. If we always create with
XRGB then toggling Alpha/Transparency state fails.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
When we make calls to get an Input device's output name, if the device
does not have an output name it's not actually an error so just return
NULL with less noise
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch fixes an issue where if you tried to resize a window to
it's minimum size, the contents of the window would draw outside the
window frame. Basically, when we are setting min/max size hints to the
window object we need to account for framespace.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Sometimes, In ipc_server_data, extn->ipc.server's data is different with e->server's data.
The case is as follows.
Process'A' has a server.
Process'B' has 'A's client(ee address : 0xB0).
Process'B's client die, and 'B's server created. and server's ee address is same with destroyed client's ee(0xB0).
At the same time, 'A's server send the message to 'B's client.
but 'B's client is died! so _ipc_server_data would manipulate 'B's server data.
Test Plan: Tizen Mobile Text.
Reviewers: raster, spacegrapher, jpeg, wonsik, dkdk
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D4158
I guess the overflow was badly handled. Fixing it by using
explicit int intermediate value.
Fixes CID 1356616 and 1356619:
Operands don't affect result
Logically dead code
realloc() can return NULL if size is 0. It's like free().
So, the usage here is correct, and there are probably no
points to interpolate between anyway. I wonder if there
can be commands without points, though.
Fixes CID 1293004
CID 1355234 Logically dead code
The indicated dead code may have performed some action;
that action will never occur.
In eet_data_descriptor_element_add: Code can never be
reached because of a logical contradiction (CWE-561)
Solution: use explicit range within valid values with <= and >=
rather than excluded values with > and <