Commit Graph

20001 Commits

Author SHA1 Message Date
Mike Blumenkrantz ef5812188a ecore-evas-wayland: update size when size hints are changed
ensure hinted size is used

@fix
2017-08-04 16:10:45 -04:00
Mike Blumenkrantz 2961cb2550 efl-wl: do shm pool ref/unref for bm safety
@fix
2017-08-04 16:10:43 -04:00
Mike Blumenkrantz f03028d22f wayland: fix min/max size setting
also don't set arbitrary hints on init

@fix
2017-08-04 16:10:42 -04:00
Mike Blumenkrantz 70c118fab6 efl-wl: block connection attempts from unmanaged clients
I guess posting an oom error is security

@fix
2017-08-04 16:10:39 -04:00
Mike Blumenkrantz 99b60390f4 ecore-wl2: sync aux hints after window creation
ensure hints are available when needed

@fix
2017-08-04 16:10:35 -04:00
Mike Blumenkrantz f2627d49c1 ecore-wl2: don't send null set_parent requests for every window
this is redundant

@fix
2017-08-04 16:10:34 -04:00
Mike Blumenkrantz cd7633ecbf ecore-wl2: make _ecore_wl2_display_sync_get() local instead of static 2017-08-04 16:10:34 -04:00
Mike Blumenkrantz ab2c330b27 ecore-wl2: simplify server pid detection 2017-08-04 16:10:34 -04:00
Mike Blumenkrantz 4e68271416 ecore-wl2: pass display to aux hint event_adds
fixes display refcounting

ref 6bb56b3f56

@fix
2017-08-04 16:10:31 -04:00
Mike Blumenkrantz 3749125745 elm_test: reset win stack static vars when window is closed 2017-08-04 16:08:49 -04:00
Derek Foreman bc5ebd0a20 ecore_drm2: Fix linker problems
Accidentally used functions in the library directly instead of through
the sym_* dlsym looked-up variants.

Why this only caused problems in some installations may still be worth
investigating - we may be pulling in libdrm at link time from some
other library?
2017-08-04 12:13:40 -05:00
Stefan Schmidt 2221970fff efl_wl: fix typo in file name to make sure xml file lands in dist
In commit 6bb56b3f56 a new xml wayland
protocol file was added. Due to a typo in its name in EXTRA_DIST it
never made it into the tarball breaking the wayland build.
2017-08-04 10:57:59 +02:00
Amitesh Singh 0e7a316a7a edje: implement edje.player interface functions
fixes T5560
2017-08-04 16:22:59 +09:00
JinYong Park f2082c0412 layout: fix "elm,state,text,hidden" signal never be emitted
Summary:
 In _elm_layout_text_set function, text_signal_emit is called.
 But in that case, check text whether it is null or not null before call signal_emit.
 So "text" is not null always, and text_signal_emit's parameter "visible" is also always EINA_TRUE.

Reviewers: Jaehyun_Cho, cedric, jpeg

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5049
2017-08-04 15:33:27 +09:00
Jean-Philippe Andre 63f0dcc5fc layout: Fix compilation break
Oooops! This broke external apps!
2017-08-04 12:31:14 +09:00
Jean-Philippe Andre 4c8f87974c layout: Implement data_get from edje
This also implements size_min and size_max get.

Ref T5315
2017-08-04 11:52:17 +09:00
Jean-Philippe Andre 240cc9e501 edje: Move size_min/max and data to an interface
The new interface is:
  Efl.Canvas.Layout_Group

I'm not fan of the name.

Ref T5315
2017-08-04 11:52:17 +09:00
Jean-Philippe Andre 3e5cfb83c0 elm: Remove custom layout signal APIs
This merges them with the now standard interface:
  Efl.Canvas.Layout_Signal

Some wrapping work was required for legacy API which
takes no user_data in del() but instead returns it. The
new EO function, while harder to use, is more correct
(you can't delete the invalid callback by accident, and
this follows EO events design).

Another crazy wrapping was done in entry/text in order
to add the callbacks to 2 objects instead of just one,
and still return the user data.

As for Naviframe and Popup, those two widgets override
signal_emit to forward the call to another object than
the resize object, but not callback_add/del. So they
are definitely broken.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre efac7d523a edje: Move signal APIs to an interface
This interface will be used by elm_layout as well.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre ad7e16bcf4 layout: Use only legacy "elm_layout_sizing_eval"
This removes all uses of elm_obj_layout_sizing_eval.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre fb941c457c layout: Improve doc for theme_set
Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre 82e6100322 layout: Move Part_Alias struct to legacy
Part aliases need to be handled differently in EO.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre f0730f6f4c layout: Move edje_get to legacy only
Here's the reasoning:
 1. We will expose as many edje APIs as possible (and meaningful)
    through the elm layout class.
 2. Access to internal objects is usually risky, as it allows apps
    to bypass EFL in some ways, leading to potentially undefined
    behaviours.
 3. If the need arises we can still add a similar API back to EO,
    later.

Back to #1, it seems that the need for edje_get() was mostly to
call manual sizing functions, or the missing message_send(). I will
make sure these are accessible from the layout itself.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre aebd37cab8 layout: Remove sub_object_add_enable
Same as the previous patch. This was an ugly hack. Use another
one instead.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre a4940ae6c9 layout: Remove method theme_enable
This was an internal thing, ugly, replaced by another ugly
solution, but maybe less ugly.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre ed94e8b535 scroller: Implement default content part
This:
  efl_content_set(efl_part(scroller, "default"), obj)
worked fine, but, this:
  efl_content_set(scroller, obj)
didn't work as expected.

Thanks @JackDanielz for the report.

Note: There is a problem still... "default" should not work
      with efl_part. This is quite bad, actually. It should
      probably be "content" instead.
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre 7ba0ab5182 layout: Implement freeze and thaw from interface
This implements part of the interface
  Efl.Canvas.Layout_Calc
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre a4c3929894 layout: Implement cursor part APIs with efl_part
This makes layout parts implement Efl.Ui.Cursor.
This also adds the missing bool returns from that interface.

This removes 7 APIs from Elm.Layout.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre aeacb54c35 cursor: EO-ify elm_cursor API
This creates an interface and makes Elm.Widget implement it.
Next step: make elm_layout parts implement it.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre f63a564817 layout: Move edje_object_can_access to legacy
This is an API enabling accessibility on text(block) parts
in a layout. But it is said to have many issues. I can already
see that it only changes a flag but doesn't trigger any code
to create the appropriate objects, so definitely not fully
working.

According to @kimcinoo this may remain in legacy land for now.
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre 6df17b2ed0 edje: Split off calc APIs to an interface (EO)
Those APIs can then be used by Elm.Layout, hopefully
simplifying the API.

I wonder if the APIs should be prefixed "calc_" (as is)
or "layout_calc_". The extra "layout_" prefix would make
it common with other layout APIs (eg. signals, data,
size min/max, ...).

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre 796d4b138b elm: Make content and text aliases internal only
This removes the APIs from the EO API.

Ref T5315
2017-08-04 10:24:03 +09:00
Taehyub Kim 94d3fd3d82 win: implement efl_provider_find for EFL_UI_WIN_CLASS
Summary:
Implement efl_provider_find function for efl_ui_win class.
This will support to search window class by efl_provider_find function.

Reviewers: jpeg, cedric, Jaehyun_Cho, thiepha, woohyun, Blackmole

Reviewed By: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5045
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre a1509ab98d frame: Implement text set/get (EO only)
This is required for the default style which has a title.
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 1990104b5f evas: More debug_name information 2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 0353eb5b7f evas: Add debug_name to image objects 2017-08-04 10:24:03 +09:00
Jean-Philippe Andre b290cb5de0 eina_slstr: Fix leak in an error case
This function takes ownership of the incoming strbuf
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 999dbd9764 eo debug name: Use strbuf instead of slstr
This should be a little bit more efficient, even if more "risky"
in terms of leaks. The final API still looks exactly the same.
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 569ad0bac4 evas/edje/elm: Override debug_name in core classes
This is really only a demonstration of what kind of information
we can print with efl_debug_name_get(). Hopefully this can help
debugging with printf/ERR logs and even help with live debugging
inside gdb.

This shouldn't be used for other purposes than debugging, as the
exact string format is not defined.

@feature
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre c4769ff898 eo: Add debug_name read-only property to ease debugging
This will include the following information, by default:
 - class name
 - whether the class is an override
 - eo id (pointer)
 - refcount
 - name if one was set (Efl.Object property)

This also supports classes, which is why it's an EAPI in eo.c
and not only a method of Efl.Object

This can be overriden by subclasses using the empty method
Efl.Object.debug_name_override.get

If the function is overriden, then the returned string is used
as is and so it is left to the subclass to include all the
necessary information (as above). This can easily be achieved
by calling efl_debug_name_get(efl_super()) and then concatenating
the strings.

Think of this function as something like Java's toString(), but
only for debugging (i.e. a string class should not just return
its string value).

@feature
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 0834511067 Eo: Allow multiple functions overrides
This allows two things:
 - adding new override functions on an object that already has
   overrides
 - resetting a specific function (or list of functions) to the
   parent class implementation by passing NULL as implementation

Fixes T5580

@feature
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 83a4c3e3e2 elm_test: Remove calls to visible_set for EO objects 2017-08-04 10:24:03 +09:00
Jean-Philippe Andre fd9cf1d3b6 evas: Make all EO canvas objects visible by default
All legacy objects remain invisible by default. Any call to
visible_set() will prevent the automatic show() to happen.

show() will be done just before render time, which may be a
bit too late in order to propagate the necessary changes.

This may break some things where some objects are created
internally using efl_add() instead of the legacy API, and
the intent was not to show the object.

@feature
2017-08-04 10:24:03 +09:00
Carsten Haitzler 932ae95a4e efl src - mark fallthrough switch statements in 3rd party code
in code we importend that doesnt use eina we have warnings of
fallthroughs. all o them are commented to be fallthrough so add the
attribute there too to have fewer warnings.
2017-08-04 10:19:27 +09:00
Chris Michael 0bd8259da8 ecore-wl2: Rename local function and make it static
As this function is not called from anywhere outside of
ecore_wl2_window.c file, this can be declared static.

NB: This patch also changes the function name to match the library
(ecore_wl2).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-08-03 10:15:41 -04:00
Jean Guyomarc'h 9368eedd35 efl: terrible kludge so avoid termination crash on osx
Currently, elementary programs crash on termination on macOS (seems
Sierra-specific). This is very nasty, looks like deep memory corruption...
Without valgrind (or like) support on Sierra, it is difficult to
pinpoint the origin of the problem.

Due to the imminient release, and after discussion with @stefan, this
kludge will allow the release to happen.

This commit MUST be reverted just after the release, so we don't
blindfold ourselves!

Ref T5245
2017-08-03 10:31:26 +02:00
Carsten Haitzler 256450d294 eina debug - remove other swap and comment on the weirdness of this 2017-08-03 09:08:04 +09:00
Cedric BAIL eed23765f9 eina: failing to load a module is actually an ERR that user should see. 2017-08-02 16:16:33 -07:00
Guilherme Iscaro 48443fda8f Eina_File: Avoid using munmap() on file->global_map.
When a virtualized file is created the file->global_map will not
point to a mmapped region, thus it's not safe to use munmap() during
the file cleanup. Only use munmap() if the file is backed by a FD.

Fixes: T5234.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-02 16:03:20 -07:00
Guilherme Iscaro c61ac48f1a Efl_Copier: Add efl_wref_del() for pd->job.
In order to perform IO operations the copier will create futures using
efl_future_use(&pd->job, ...), which will set pd->job to NULL once the
future is destroyed. However this may lead to problems, because in some
cases the copier may be deleted at the _efl_io_copier_job() function,
which is the future's callback. Since the copier may be deleted before
the future, the area pointed by pd->job will have disappeared by the time the future
tries to set pd->job to NULL. To avoid this problem the copier must
explicily call efl_wref_del().

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-02 16:03:11 -07:00