Commit Graph

52985 Commits

Author SHA1 Message Date
Stefan Schmidt ec24433ef2 build: disable epoll support on solaris based systems
We have a report where the use of epoll breaks such systems. Disabling it for
now to make them work again. A deeper analysis is underway to understand this
better and maybe have epoll support later.
2017-04-12 10:17:41 +02:00
Jean-Philippe Andre a5e019b468 scroller: Fix issues with looping and paging
Prerequisites:
  Disable scroll animation (in elementary_config)

Test case:
  elementary_test -to Scroller

1. Scroll with the mouse wheel. Scrolling will not loop or anything.
2. Enable loop in Y, scroll to the top and to the bottom, verify
   that scrolling loops fine and shows the last and first page in
   full.
3. Enable page snapping, and repeat 2.

FIXME: Page snapping doesn't do much if you use thumbscroll or
       drag the scrollbars.

FIXME: In the test case, Y +/- 1 is useless as the scroller snaps
       to the pages even without snapping enabled.

@fix
2017-04-12 17:07:48 +09:00
Jean-Philippe Andre 0cd610af20 scroller: Fix freeze after dragging bars
The freeze property is a set() only but could internally
be reset to false, after dragging a vertical or horizontal slider.

Test scenario:
  elementary_test -to scroller

Click Freeze, test the mouse wheel (can't do anything), drag a
scroller side bar, test the mouse wheel again.

Before this patch, the scroller would scroll. After the patch, the
scroller remains fixed, respecting the value of freeze.

FIXME: It is possible that the proper fix would be to disable
       bars drag during freeze, but that is not the case currently.

NOTE: freeze, hold, movement_block, lock_x/y have very similar
      meanings. The doc really needs clarification here, and some
      property might be removed. Also, freeze and hold have no
      getter, only a setter. drag_lock_x/y is part of elm_widget,
      and not specific to scrollers.
2017-04-12 15:18:24 +09:00
Jean-Philippe Andre 59cf7c7ab7 scroller: Fix CRI if scroll animation is disabled
If the scroll animation is disabled, we ended up with an
immediate call from inside a post-event callback to modify
the canvas geometry which led to feeding events. Since
99d21f6d9c and 54e5841b2f it is basically forbidden
to modify the canvas or feed events from the post-event cb.
This is because feeding events from inside the post-event
callback can break the logical order of operations between
post-event cb and event cb.

Note: This also implements no-animation scrolling for page
scroll, in case scroll animation is disabled (unifying the
code did that).

Fixes T5289 (abort inside E)
2017-04-12 14:54:15 +09:00
Jean-Philippe Andre bc4f803d37 scroller: Fix wheel scroll with imbricated H+V scrollers
Test scenario:
 elementary_test -to "Scroller 2"

Use the mouse wheel to scroll inside the horizontal scroller
(the one with many "...Horizontal scrolling..." buttons). This
scroller should scroll horizontally. When reaching the end of
this scroller, the main vertical scroller should take over
and scroll vertically, but only after a 0.5s timeout has passed.

Before this patch, you could wait forever and scrolling inside
the horizontal scroller would never trigger a scroll in the main
vertical scroller, despite reaching the end point.

In 1.18 both the main and the horizontal scrollers scroll
simultaneously. The imbricated vertical scrollers seem to work
as designed, but not H inside V.

@fix
2017-04-12 14:32:33 +09:00
Bryce Harrington 20e7f661e6 Evas_Common: Fix minor grammatical errors
Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4781
2017-04-11 11:48:36 -04:00
Minkyoung Kim 78d266e189 EvasGL: Do internal make current if context changed.
Summary:
Before, rsc->current_ctx is always same with ctx.
So checking context change was meaningless.
From now, it has meaning.

Test Plan: App call evas_gl_make_current more than twice in pixels callback. Those surfaces are indirect rendering surface.

Reviewers: jpeg, dkdk, wonsik

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4773
2017-04-11 16:20:07 +09:00
Minkyoung Kim 60a97c9be3 evas: If there isn't clipper when recalcing clip, set mask.clip = NULL.
Summary:
There's problem in Tizen3.0.

1. Clip set mask_obj to obj for masking.
2. Unset mask_obj from obj, and del mask_obj.
3. obj has clip.mask still. So obj is trying to do mask_subrender() for freeed mask_obj.

So reset clip.mask to NULL, If there isn't clipper.

Now, there's no routine for reseting clip.mask when clipper object is freed. isn't it?
Actually I'm not sure that clip.mask=NULL should be there as this patch.

Test Plan: Tizen3.0 wearable

Reviewers: cedric, raster, wonsik, jpeg

Subscribers: scholb.kim, dkdk

Differential Revision: https://phab.enlightenment.org/D4721

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2017-04-11 13:54:53 +09:00
Carsten Haitzler 6e7c8e591b elementary - efl ui flip - fix map apply for page flip
this mirrors the fix in fd69113f6a by jp
into the elm flip widget too.

@fix
2017-04-11 09:56:22 +09:00
Derek Foreman fb01a697dd wayland_imf: Fix bug in shutdown
Theoretical bug that may become real in the coming days - ecore_imf's
wayland module has the interface for the text input protocol.  The
imf module gets unloaded after destroying the protocol object but
before receiving all events from the server destined for it.

Currently that's fine, but I've posted some wayland patches for
review that require the interface to remain present while the text
input object is a zombie.  These patches cause some EFL apps to
crash on shutdown when they unmap the wayland imf module.

This moves the wayland interface bits into ecore_wl2 which doesn't
get unmapped.
2017-04-10 14:49:57 -05:00
Jean-Philippe Andre fd69113f6a evas map: Fix test case "Flip Page"
Since 9b7ac51943 evas map tries to avoid recalculating
stuff when the map parameters have not changed. Unfortunately the
code in elementary_test -to "Flip Page" was badly written. It was
modifying a constant's internal value (after ugly cast). So the
memcmp() and all other checks would return successfully, as the
exact same pointer was being compared to itself.

So, I've fixed the comparison by adding some forgotten parameters
(perspective) but most importantly I fixed the map API usage in the
test case.
2017-04-10 19:38:56 +09:00
Jean-Philippe Andre f3c9500a6d evas filters: Fix a rare crash in text render (SW)
There are reports of crashes when y < 0. This case seems
abnormal in case of filters, as I don't know how to reproduce it,
but it's happened.

Thanks Youngbok Shin for the report.

@fix
2017-04-10 16:56:14 +09:00
Jean-Philippe Andre c0db1f4225 edje: Add workaround for misuses of clip_set
An unfortunately very common misuse of clip is as follows:

- Layout A is created (edje object / elm_layout)
- Object B is swallowed inside A
- Clipper C is set to clip B

This is a invalid usage, as layout A takes control over the clip
property of B (just like it does for geometry, visibility, color...).

Since 75ec3a7338 edje_recalc resets the clip at every calc
loop, as it can change between states.

In the past, edje_recalc did not reset the clip so anyone could
(wrongly) swallow an object and then change its clip from C to modify
its color, mask it, blend it, etc... Even though this was not proper
use of the API, this is not very clearly documented, and since it
worked, it has been (ab)used a lot already.

The result now is that a clipper set from C will become visible
as an opaque white rectangle covering the entire UI. Booh.

This patch is a workaround that should have no impact on well
written applications. As a bonus this avoids an extra call to
clip_set() from edje.

@fix
2017-04-10 16:14:45 +09:00
Youngbok Shin 1ab87367d8 evas: give width offset when Evas tries to find ellipsis position
Summary:
If the last item before ellipsis item has bigger width than its advance,
evas_common_font_query_last_up_to_pos() function can find wrong ellipsis position.
When Evas finds a position for non last item, Evas must care about additionally
available space for glyph's width of the given x position.

ex) the last item's glyph before ellipsis item has a tail to draw above the ellipsis item.

@fix

Test Plan:
Test case will added as comment.
(Becasue of font license problem.)

Reviewers: herdsman, raster, jpeg, woohyun

Subscribers: cedric, Blackmole

Differential Revision: https://phab.enlightenment.org/D4727
2017-04-10 12:15:20 +09:00
Carsten Haitzler 46bfd7ffb9 elm config - reload at runtime - fix env var overrides being lost
if you set config via environment variables then sa config
update/reload may end up overriding these again whenever it is updated
and thus may result in scaling or other things suddely changing

@fix
2017-04-10 11:05:56 +09:00
Carsten Haitzler 6aa72e3cf6 evas - async preload cancel fix - don't double delete/free
just match the ref with the drop anddon't also manually free the image
as this leads to accessing of freed memory which is not a good thing.

this should fix T5374

@fix
2017-04-10 10:40:52 +09:00
Gustavo Sverzut Barbieri e8a59ab6c2 efl_net_socket_ssl (dialer): emit "resolved"
for dialers we should also monitor "resolved" from inner TCP socket
and emit that ourselves, letting people know that we have an IP
address.

this is important for ecore_con_legacy.c, since the svr->ip is only
decoded and stored once when this signal is emitted.
2017-04-08 19:21:44 -03:00
Gustavo Sverzut Barbieri c90865ca48 ecore_con_legacy: fix legacy compatibility for ecore_con_server_send()
Since efl_net_ssl_context is immutable for a dialer and we create the
dialer with the context, the SSL cases uses a trick to postpone dialer
creation using a job, then it allows one main loop iteration for the
user to call various ecore_con_server_ssl_*() methods.

However this breaks immediate ecore_con_server_send() after
ecore_con_server_connect() as used to be allowed and used by
azy/erssd.

Most people wouldn't notice that, since the most common case is to
either use ecore_con_url (which uses cURL and a complete different
code path) OR they would wait for ECORE_CON_EVENT_SERVER_ADD prior to
sending data.

Nonetheless it was a compatibility issue and must be fixed.

Fixes T5339
2017-04-08 19:21:44 -03:00
Andy Williams 314f2763c6 elm_code: trigger user change event on applying an undo/redo
@fix
2017-04-07 23:36:29 +01:00
Mike Blumenkrantz aab3cca0be ecore-wl2: do not reconnect on protocol error for non-server processes
this is not a recoverable state

@fix
2017-04-07 16:06:41 -04:00
Mike Blumenkrantz 442844441e elm_win: set wl window type during finalize
@fix
2017-04-07 16:06:41 -04:00
Mike Blumenkrantz fc0c66675e ecore-wl2: create window surfaces immediately when windows are created 2017-04-07 16:06:41 -04:00
Mike Blumenkrantz bc7fb14a9c ecore-wl2: stop setting all windows as toplevels on creation
this is not a valid assumption since toplevel is a shell-specific concept and
it's possible to run a shell which does not implement such windows

@fix
2017-04-07 16:06:40 -04:00
Mike Blumenkrantz cb58baf400 ecore-wl2: CRI when attempting to create a window from a server display object 2017-04-07 16:06:40 -04:00
Cedric BAIL d2816c3879 elementary: fix test breakage.
It is perfectly valid to call this API with no pointer provided.
2017-04-07 11:38:10 -07:00
Andy Williams c5dce45a95 elm_code: Expose whether or not undo and redo can operate
A quick peek at the stack will allow us to inform users
of the widget if operations will apply.
2017-04-07 18:14:31 +01:00
Derek Foreman e5dd8327ba ecore_drm2: Use correct drm context version
We should be setting this to the context version we understand, not
the highest version supported by the library.

From Daniel Stone's recent intel-gpu-tools commit fixing the same bug:
With libdrm 2.4.78, setting a higher context version than 2 will attempt
to call the page_flip_handler2 vfunc if it was non-NULL, which being a
random chunk of stack memory, it might well have been.
2017-04-07 09:09:56 -05:00
Shinwoo Kim 7a2aeec9ce elementary: win - override atspi component get interface
The efl_ui_win overrides _elm_interface_atspi_component_extents_get to give
correct value if screen_coord is EINA_FALSE which means relative position.
The efl_ui_win has given its object geometry value + ecore evas geometry value.
The object geometry value was equal to the ecore evas geometry value, so the
relative position was not correct(twice of ecore evas geometry value).
2017-04-07 13:43:00 +09:00
Jiyoun Park 258b42b47b evas_clip: fix bug _clipper_del_cb function unset current clipper
old_clipper = evas_object_clip_get(objA);
   evas_object_clip_unset(obj_A);
   evas_object_clip_set(obj_A, new_clipper);
   evas_object_del(old_clipper);

   when old_clipper deleted, _clipper_del_cb unset the current new_clipper of obj_A.
2017-04-07 11:35:55 +09:00
Andy Williams b5761fc227 elm_code: Don't refresh if fonts did not change 2017-04-06 23:30:00 +01:00
Jiwon Kim 1bd7b576bd edje: remove invalid macro-check regarding coreaudio
Summary:
By 403b0ecfa6 the coreaudio
support was dropped.
So 'HAVE_COREAUDIO' define is invalid.

Reviewers: jpeg

Subscribers: cedric, woohyun

Differential Revision: https://phab.enlightenment.org/D4732

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-06 15:20:49 -07:00
Jeeyong Um e7319b84e4 elm.hoversel: adjust alignment correctly in mirror mode
Test Plan: elementary_test "hoversel"

Reviewers: cedric, jpeg

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D4751

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-06 15:20:49 -07:00
JEONGHYUN YUN 73c232e031 edje_program: add NULL check for ed->callbacks in edje_program
Summary: Pointer ed->callbacks may have NULL value in callback add functions.

This reduce the chance of continue to kind of work for longer in case of memory
constrain. Maybe using Eina macro would be better.

Reviewers: jpeg, jypark

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4761

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-06 15:20:49 -07:00
JEONGHYUN YUN 5fe350d2f7 edje: fix name check matching correctly
Reviewers: jpeg, jypark

This could lead to a crash as we were checking against NULL on
the wrong pointer.

@fix

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4762

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-06 15:20:49 -07:00
JEONGHYUN YUN 5ed7378303 edje_edit: add NULL check for eina_mempool_malloc in _edje_edit_state_alloc()
Summary: Pointer eina_mempool_malloc return value may have NULL value when
module aren't properly installed. This reduce the chance of a crash and increase
the likelyness of properly handling the failure.

Reviewers: jpeg, jypark

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4763

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-06 15:20:49 -07:00
Bryce Harrington 3aa0ce099f evas: fix typo 'initializer to' to 'initialize to'
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4767

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-06 15:20:49 -07:00
Bryce Harrington 55b4e2d369 ecore_evas: Fix several typos in doxygen
Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4772

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-06 15:20:49 -07:00
Andy Williams 595fc25f3f elm_code: fix copy/paste bug that slipped through 2017-04-06 23:14:03 +01:00
Bryce Harrington 9610d4aaa6 elm_code: Fix coverity issue divide by zero
Summary: @fix 1371128: DIVIDE_BY_ZERO

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: ajwillia.ms, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4771
2017-04-06 22:40:13 +01:00
Andy Williams e44c33f233 elm_code: Fix bug when deleting slection beyond start of document.
@fix
2017-04-06 22:16:27 +01:00
Cedric BAIL 8c93a207c1 evas: update webp output test.
webp has slightly change since we registered this test and even if the
output is visually still close, as we do a perfect pixels comparison,
we are impacted by the slightest change. It would be nice to introduce
a function that does a more fuzzy comparison.
2017-04-06 13:45:55 -07:00
Cedric BAIL 8280e523ee evas: always send a proper event to simplify callee logic.
@fix
2017-04-06 13:31:53 -07:00
Bryce Harrington 65d7438466 ecore_evas: fix 'be delete' to 'be deleted'
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4766
2017-04-06 14:14:09 -04:00
Jean-Philippe Andre 1d5b65ab85 access: Fix warning hiding a potential crash
See 5da4c96087
2017-04-06 18:14:40 +09:00
Jeeyong Um 7383710f34 Colorclass: Add fixed attribute to remove error message
Test Plan: elementary_test -to "color classes"

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4741
2017-04-06 16:33:47 +09:00
Jaeun Choi 53e31eeede emile_image: add error handling code for ifd_offset value
Signed-off-by: JEONGHYUN YUN <jh0506.yun@samsung.com>
2017-04-06 15:34:53 +09:00
Carsten Haitzler c3372a5c7a fix evas canvas callbacks to use correct legacy callback function 2017-04-06 14:43:04 +09:00
Carsten Haitzler 987620390b elm - cache dump - disable this to fix jp's issues of proxies etc.
this will stop proxies, maps, and other filter object content from
being dropped whenever elm calls elm_cache_all_flush() to flush all
caches.

@fix
2017-04-06 14:31:19 +09:00
Andy Williams ddb189bb1f elm_code: Fix crashes with backspace on OpenBSD
@fix
2017-04-05 23:59:23 +01:00
Andy Williams 650606ab90 elm_code: better safety around widget edge cases
Fixes crashes when dragging selection out of widget.
@fix
2017-04-05 22:40:43 +01:00