Summary:
_visible_data_changed_signal_send function checks for wrong object,
hence always returns with out actually sending signal.
The state is set to pd->object_broadcast_mask and not
pd->object_children_broadcast_mask in _set_broadcast_flag function.
Test Plan:
Send the visible data changed signal from any widget, but signal
is not sent.
Reviewers: cedric, lukasz.stanislawski, kimcinoo
Reviewed By: kimcinoo
Subscribers: rajeshps, govi, jpeg
Differential Revision: https://phab.enlightenment.org/D4352
Summary:
Move opening for read/write/read-write and error message to internal method
Reuse eet file from Edje instead of opening it again in read-only mode
Add wrapper for eet_close to skip closing if internal file was used
Reviewers: NikaWhite
Subscribers: cedric, jpeg, #eflete
Differential Revision: https://phab.enlightenment.org/D4353
Thanks to Victor Pereira from the SUSE Security team for auditing
this and recommending better options.
This has been discussed several times but knowone ever got to
commiting it.
Summary: In all other places "clicked" is defined as a local variable.
Reviewers: tasn, jpeg
Reviewed By: jpeg
Subscribers: cedric, minkyu
Differential Revision: https://phab.enlightenment.org/D4349
Instead of calculate the ratio from the sizes, calc the width from the ratio,
as ratio seems always accurate.
Fallback to the old code if ratio not available (tbh I never see this case)
@Fix EMOTION_ASPECT_KEEP_BOTH with some rare strams, mostly DVD and online stuff
eglCreateImage and eglCreateImageKHR have different parameters - the
attribute list is EGLint for one and EGLAttrib for the other. Since
EGLAttrib is long, on a 64-bit system it's a different size than EGLint.
This was causing a crash in Enlightenment's wl_x11 on 64-bit machines when
trying to use a gl client.
Add a thin wrapper to use whichever is available and pass the appropriate
sized data.
If we set a frame callback on a window with no shell surface (ie: and unmapped
window), the frame callback will never fire. This was preventing some
applications like rage from ever posting a frame.
This was broken for smart objects that are not "clipped smart
objects". This fixes the example evas_smart_object.
NOTE: This EAPI was removed in efl-1.18!
/!\ This was an uncaught API break between 1.17 and 1.18 /!\
@fix
Coverity reports that Evas_Coord_Rectangles were being used here without being
initialized so declare those variables with some initial values
Fixes CID1362984
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Coverity reports this as a dereference before null check which implies
that 'cur' May be null here, so let's not use it before we check it.
Fixes CID1363765
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Coverity reports this as a dereference before null check which implies
that 'pd' May be null here, so let's not use it before we check it.
Fixes CID1364114
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch fixes Coverity CID1364123 which reports that (in some
cases) va_end was not being called for var args. As they were
previously initialized with va_start, then va_end should be getting
called.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
otherwise we are leaking a eina list.
This was discovered while running the elm_suite with CK_FORK=no, since
ecore and eina are init´ed and shutdown´ed, after the shutdown this list
points to freeed memory pools. So in the next testcase the list is
invalid and crashes. This fixes it with freeing the list on shutdown.
Extend edje edit deberate source API. Add two new API.
- edje_edit_object_color_class_list_get return a list of used color classes for
given object
- edje_edit_color_classes_source_generate is generate code for given
color classes list
This API is annex for edje_edit_object_source_generate. Together this
API's provide a mechanism for generate source for custom groups from
a edj file or more.
Lacking a proper internal tag, I'm using both protected (it is
in fact a protected access function) and beta (to mark as unstable,
not real API).
New smart objects based on EO only should rely on constructor,
finalize and destructor exclusively. In theory, this should be fine.
Unfortunately it may be impossible to inherit from the Efl.Ui.Win
class as it uses a really bad hack and calls super.constructor
inside the finalize method.
This is an override of efl_gfx_size_set. Same as before, the
order of operations matter so it is possible that a corner
case will break. In particular, legacy code was:
- intercept
- smart resize (do stuff), super, super, super
- evas object resize
The new code is more like:
- intercept
- super, super, super, evas object resize
- do stuff
But unfortunately this broke elm_widget (read: all widgets) as
the internal resize was done before the object resize. So,
inside the resize event cb, the resize_obj size would not match
the smart object size. >_<
This is an override of efl_gfx_position_set.
As for the other patches, I hope I didn't break anything.
A problem likely to happen is that the super call was inserted
too early or too late in the call flow. For instance:
_myclass_position_set(obj, x, y) {
position_set(super(obj), x, y);
position_get(obj, &prevx, &prevy);
do_something_with_delta_xy();
}
The above code flow is obvisouly wrong, but may have crept in this
patch (such a bug sneaked in inside smart object, breaking
everything at first).
While this kind of API seems to make sense with smart objects
(relative coordinates), it is currently not used apart from
the smart object class itself.
So, for now, I'm moving this to legacy to clean up Efl.Canvas.Group
and we can later add the equivalent in a clean "group" API.
These should be just overrides of Efl.Gfx.visible.set. Many
widgets were handling smart show() and hide() manually, which
means this patch is quite large.
Hopefully this doesn't break anything, obviously. But here are
some widgets known to be problematic, as the old code flow was
really strange (sometimes not calling the efl_super function):
- window
- notify