Commit Graph

58763 Commits

Author SHA1 Message Date
Marcel Hollerbach b9a116b5bf ci: test the installed parts of efl
Summary:
ci for now was not testing if building against the installation of efl
was working, this builds the lifegame example which ensures that elm is
build correctly.

Reviewers: stefan_schmidt

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6160
2018-05-16 13:49:41 +02:00
Stefan Schmidt d292592e02 ci: travis: move macos build out of allowed failures
It is working fine again and we want to know if something breaks it.
2018-05-16 13:49:40 +02:00
Stefan Schmidt c5a253f3f0 ci: travis: switch Ubuntu and Fedora builds to latest release 2018-05-16 13:49:40 +02:00
SubodhKumar b8c691ebd2 edje: Fix to support translation for textblock part
Summary:
Text translation in edc for textblock is missing.
Added to support it.

@fix

Reviewers: cedric, zmike

Reviewed By: cedric, zmike

Subscribers: shilpasingh, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6164
2018-05-15 12:44:29 -04:00
Daniel Kolesa ba31824a86 eolian: more useful namespace checks with no false negatives 2018-05-15 16:42:01 +02:00
Daniel Kolesa d26b6d0f22 eolian: initial simple namespace conflict check 2018-05-15 16:25:23 +02:00
Xavi Artigas 048adae83d Eo: introduce convenience macro efl_new()
Summary:
This is just a wrapper around efl_add_ref() with a NULL parent.
It only simplifies a bit object creation when no parent is desired, but it
simplifies a lot the explanation of the refcounting concepts (and tutorials).

Reviewers: cedric, bu5hm4n

Reviewed By: cedric, bu5hm4n

Subscribers: bu5hm4n, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6024
2018-05-15 09:53:24 -04:00
Andy Williams 114873c545 remove potential double free 2018-05-15 14:49:41 +01:00
Andy Williams 767c211e70 Add missing continue keyword from Go definition 2018-05-15 14:49:04 +01:00
Marcel Hollerbach cfc66c08a1 evas: error out when there appeared a object while a new one is focused
Summary:
this is on the one side error prone and race, as reacting to a focus out
with a new focused object leads to weird cases. On the other side we are
then using eina hash wrong which leads to later weirdness as the element
that is assosiated with &key is broken.

Reviewers: raster, zmike, stefan_schmidt, cedric

Reviewed By: zmike

Subscribers: cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6158
2018-05-15 09:32:20 -04:00
Marcel Hollerbach 542ee417c4 ci: build with default prefix
Summary:
not building with a default prefix might end up that the installed
.pc files are not fetched automatically, which makes the building of the
example fail.
Depends on D6160

Reviewers: stefan_schmidt

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6161
2018-05-15 14:55:25 +02:00
Hosang Kim 19833657e8 elm_slider: fix test suite fail
Summary: change legacy widget name.

Reviewers: Jaehyun, stefan_schmidt, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6162
2018-05-15 20:13:06 +09:00
Jaehyun Cho bce7e7d0d7 examples: Fix slider cxx example based on Efl.Ui.Slider
Unlike Elm_Slider, Efl.Ui.Slider does not support text_set,
format_cb_set, and format_string_set.
To support Efl.Ui.Slider, slider cxx example is modified.
2018-05-15 20:03:20 +09:00
Hosang Kim 5db61e4d64 efl_ui_slider: refactor slider widget.
Test Plan: elementary_test -> Efl.Ui.Slider, Efl.Ui.Slider_Interval, slider

Reviewers: woohyun, cedric, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: zmike, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D5908
2018-05-15 14:16:00 +09:00
Mike Blumenkrantz 9c7f5ca33b elm: use build dir data when EFL_RUN_IN_TREE is set
Summary:
this prevents tests from loading user configs and providing inconsistent
results or accidentally modifying a user's config

fix T6863
Depends on D6013

Reviewers: cedric, stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: stefan_schmidt

Tags: #efl

Maniphest Tasks: T6863

Differential Revision: https://phab.enlightenment.org/D6014
2018-05-14 18:26:21 +02:00
Mike Blumenkrantz b83da71d89 build: move config/ to data/elementary/config
Summary:
this is part of the datadir distribution, it should not be in a different
directory than the rest of the datadir distribution

the gnu coding standards (https://www.gnu.org/prep/standards/html_node/Directory-Variables.html)
define 'datadir' as:

The directory for installing idiosyncratic read-only architecture-independent
data files for this program. This is usually the same place as ‘datarootdir’,
but we use the two separate variables so that you can move these program-specific
files without altering the location for Info files, man pages, etc.

This should normally be /usr/local/share, but write it as $(datarootdir).
(If you are using Autoconf, write it as ‘@datadir@’.)

The definition of ‘datadir’ is the same for all packages, so you should install your
data in a subdirectory thereof. Most packages install their data under $(datadir)/package-name/.

while this text has no clear requirement or suggestion for a corresponding
repository layout, projects typically employ a certain consistency in their
repository layout both for ease of maintenance and ease of learning for new
contributors.

this project has both a data/ directory, which contains the datadir distribution,
as well as the config/ directory, which also contains the datadir distribution.
this complicates matters both for active maintainers/developers who must
remember that the repository and build tree layouts have this exception,
and for new contributors who will initially be confused by this exception

other well-organized open source projects, such as wayland, have chosen to not
use a data/ directory. these projects have the datadir distribution in the base
directory of the repositor, which is a fine practice as it maintains consistency
for the project since all the files for the datadir distribution are in the same
directory.

by applying this patch, the project will move towards a more easily readable and
learnable layout. current and future developers will no longer need to wonder why
this directory is outside of the data/ directory, and anyone attempting to reference
these files from the source/build trees will be able to do so more easily

Reviewers: cedric, stefan_schmidt, raster

Reviewed By: stefan_schmidt, raster

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6013
2018-05-14 18:26:21 +02:00
Marcel Hollerbach 8c14de8541 edje_cc: do not keep the filedescriptor
we have a limited number of filedescriptors available, a theme can
consist out of a number of groups with scripts, keeping the fd for later
use is going above the maximum number of open files, thus use the path
of the file, not the fd to access the file.

fix  T6922

Differential Revision: https://phab.enlightenment.org/D6159
2018-05-14 17:26:28 +02:00
Jaehyun Cho 1ea2f75015 elm_multibuttonentry: Fix to install eo header files
Move elm_multibuttonentry and its sub eo files to the correct location
in Makefile_Elementary.am to install eo header files.

@fix
2018-05-14 22:26:10 +09:00
SubhransuSekhar Mohanty bdca8f0c71 edje: return proper value from the function.
@fix
2018-05-14 13:26:54 +09:00
Alastair Poole a92b80ff86 elm_code: add EOAPI to refresh theme after a user layout change.
Hopefully this retains the object hierarchy. Gives us a method
to update the widget theme after a layout change.
2018-05-13 17:16:13 +01:00
Daniel Kolesa 577c00789a eolian: second batch of unused import removals
This fixes all remaining occurences introduced by false negatives
in 6bcd70f01d. The rest was already
fixed in 6be3809c04.
2018-05-13 18:13:12 +02:00
Daniel Kolesa 6bcd70f01d eolian: fix false negatives in unused dependency static checker
It is not necessary to check entire classes/typedecls/variables
when referenced, as that also checks their contents and adds
false negatives. It is enough to simply add their own unit
as a 'used' dependency and let the system do the work, besides
for actual declarations in the checked file.
2018-05-13 18:10:37 +02:00
Daniel Kolesa 6be3809c04 eolian: first batch of unused import removals
Initial results of our static analysis showed a bunch of unused
imports or imports used only for documentation references. In the
first case, remove entirely, in the second case, change to 'parse'
in order to keep references working.

The static analysis is not perfect and yields false negatives for
certain cases, so there will be a second batch later.
2018-05-13 17:28:47 +02:00
Daniel Kolesa 1f4f7e8597 eolian: cycle checks for all toplevel decls in static analyzer
This is necessary because e.g. typedecls can introduce cycles into
the system by self-referencing in struct field expressions.
2018-05-13 17:06:12 +02:00
Daniel Kolesa a923a94f85 eolian: always validate entire staging area
This is necessary even when parsing a single file because there
may be parsed results directly in the staging area introduced by
doc references, those wouldn't get correctly validated and would
be left in an inconsistent and unusable state.
2018-05-13 17:06:12 +02:00
Daniel Kolesa b8b94cbfb8 elua: add check API to eolian bindings 2018-05-13 17:06:12 +02:00
Daniel Kolesa e50aa5e1c9 eolian: check does no changes, so take a const state 2018-05-13 17:06:12 +02:00
Alastair Poole 4d61374872 elm_code_widget: on theme change update the background widget.
This ensures consistency between the colours of the widget and
its parent. When theme changes the whole visible region changes
and matches so that it isn't bogus and ugly.
2018-05-13 13:43:08 +01:00
Lauro Moura da6f5932f1 efl_mono: Support type aliases.
Summary:
Due to the absence of typedef from C#, we generate thin structs with
implicit operators to allow reference the data from their typedef'd name
from C#.

The other alternatives would be always converting to the lowest base on
the alias stack (losing the meaningfulness of the typedef name) or using
the 'using' directive. The latter has the restriction that it makes an
alias visible only in the file they are declared.

Reviewers: felipealmeida, cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6157
2018-05-11 11:01:59 -03:00
Daniel Kolesa 95e3468aee eolian: introduce initial out-of-validation static checking
For now this checks for validity of explicitly imported
dependencies in eo/eot files. It will warn if the dependency
is unused.
2018-05-11 14:02:36 +02:00
Carsten Haitzler b6a772cb27 elm test - progress - add vertical wheel test...
yes. in theory it can exist, so add a test for it. because for flat
theme i actually have an idea where vrtical vs horizontal do look
different and the theme already procvided both via an alias and code
would use them if needed... so... why not?
2018-05-11 17:27:33 +09:00
Marcel Hollerbach 348a332b32 efl: update arcconfig to be able to work with git-phab
Summary: Depends on D6109

Reviewers: cedric, zmike

Reviewed By: zmike

Subscribers: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6110
2018-05-11 09:43:30 +02:00
SubhransuSekhar Mohanty fd24998fa6 edje_cc: Fix coverity issue of accessing invalid memory. 2018-05-11 13:49:23 +09:00
WooHyun Jung 1b15c67c63 edje_cc: resolve possible dereferencing freed pointer 2018-05-11 10:44:55 +09:00
Marcel Hollerbach 6c25b38a1c elm_toolbar: only use the more_item if mode is correct
the more item is only usefull for SHRINK_MENU and SHRINK_EXPAND,
otherwise the item should not be there.
2018-05-10 13:34:39 +02:00
Marcel Hollerbach dda350e3b4 evas: introduce a log domain to monitor which object gets focus 2018-05-10 13:34:32 +02:00
Marcel Hollerbach 8e104d5bfe efl_ui_focus_manager_root_focus: restructure state eval
registering and unregsitering caused a few issues.
- Relations are recalculated even if they should not be
- We unfocus a element just to refocus it again
- We loose any iinformation about custom chains that have been set meanwhile

This fixes it
2018-05-10 13:34:17 +02:00
Marcel Hollerbach 05d4f0b256 efl_ui_focus_manager_root_focus: support a custom canvas object 2018-05-10 13:34:03 +02:00
Wonki Kim fef2a12ef6 ecore_evas_extn: Modify not to send a message if there is nothing to draw
Summary:
Seding ipc messages on ews_update_image(which is invoked as a callback of EVAS_RENDER_POST)
can makes ecore main loop awake, because sending ipc messages makes message_queue not empty.

so that this patch prevent seding ipc logic if there is nothing to draw.

Reviewers: cedric, raster

Reviewed By: raster

Subscribers: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6055
2018-05-09 23:58:48 +09:00
Carsten Haitzler 9cf5b97a8a ecore - dont rely on commons merge for func ptr
use a proper extern delcaration to do this not a extern func ptr.
fixes compile errors with lto on.
2018-05-09 23:58:48 +09:00
Daniel Kolesa 3685bcd61d eolian: add optional warnings about events missing a type
Set the EOLIAN_EVENT_NO_TYPE_WARN environment variable to enable
those warnings during Eolian usage. They will be considered a part
of the validation then.

Use the void type for events to suppress the warning.
2018-05-09 15:44:36 +02:00
Yeongjong Lee 6c252fc16c efl_ui_widget: use efl_data_scope_safe_get instead of macro
Summary: This macro isn't actually as safe as this safe data_get.

Reviewers: woohyun, Jaehyun_Cho

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6133
2018-05-09 10:19:38 +09:00
Derek Foreman 0ef79bb941 ecore_wl2: complain loudly when move or resize doesn't provide a seat
Summary:
We now have the ability to provide the seat information properly, so
fire off an ERR if a caller doesn't.
Depends on D6131

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6132
2018-05-08 13:27:00 -05:00
Derek Foreman 1e2626a70c ee_wayland: retain seat names when creating a new canvas
Summary:
We were creating seats with silly arbitray names like seat-11 when
creating a new canvas.
Depends on D6130

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6131
2018-05-08 13:26:57 -05:00
Derek Foreman 23d5ee88d5 ecore_wl2: warn on unused result from ecore_wl2_input_seat_id_get
Summary:
Make it harder to misuse this function in the future.
Depends on D6129

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6130
2018-05-08 13:26:54 -05:00
Derek Foreman 1ced5e65fd efl_selection: return wayland seat id if present
Summary:
We looked it up, we probably wanted to return it?
Depends on D6128

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6129
2018-05-08 13:26:50 -05:00
Derek Foreman ed60eddff5 ecore_wl2: Fix window drag mouse eventing
Summary:
When a CSD button interaction under wayland leads to a compositor action
like move or resize, we essentially "give back" that button press to the
compositor, and it never sends us a mouse up for it.

We need to internally fire a mouse up event to fix up state so the client
doesn't think the mouse is still down.  Until now we've been doing this
by setting a flag when we start a move/resize and checking it at next
pointer enter for the window.

This leads to unsolvable races and wacky bookkeeping, and runs afoul of
the fact that we're not actually guaranteed a pointer enter immediately
after a move completes.  There is absolutely no way at all on wayland to
know if a move or resize operation has completed.

So, let's just fire the mouse up immediately on start of interaction,
which is raceless.

This fixes a years old bug where dragging a window might leave a stuck
mouse up, and allow hilighting text without drag after the window drag
completes.  (elementary-test -to "text editor" with multiple windows open
exhibits this bug)
Depends on D6127

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6128
2018-05-08 13:26:46 -05:00
Derek Foreman f78ff5f445 ecore_wl2: Remove ecore_wl2_input_grab/ungrab
Summary:
These should never be called, so they shouldn't be API.

This kind of internal state fiddling should happen implicitly in the
API that need it.

@beta_break
Depends on D6126

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6127
2018-05-08 13:26:42 -05:00
Derek Foreman 83f2f086a5 efl_selection_manager: Stop calling ecore_wl2_input_ungrab
Summary:
This "ungrab" thing appears to just send a mouse up event in some
situations.

This already happens at *start* of drag, so at best calling it again will
do nothing, and at worst it'll break input.
Depends on D6125

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6126
2018-05-08 13:26:39 -05:00
Derek Foreman 4f720657d2 efl_ui_win: Pass seat info for wayland move/resize
Summary:
In wayland we need to know which seat initiated the CSD compositor move
request to properly handle input.
Depends on D6124

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6125
2018-05-08 13:26:35 -05:00