Commit Graph

2258 Commits

Author SHA1 Message Date
Jean-Philippe Andre 681c8cda4c evas/cserve2: (shutdown) fix double free issue
glibc double free happens when shutting down cserve, while
requests are being processed. this is because the entry is
being deleted from the hash but the cancel request fails
(so it should be deleted again from the hash)

Another patch going to fix the double free.
2013-06-14 16:38:18 +09:00
Jean-Philippe Andre a3b3b5bd8e evas/cserve2: Handle SIGINT properly 2013-06-14 16:38:18 +09:00
Jean-Philippe Andre 338218109b evas/cserve2: catch more signals and exit nicely
Also, ignore USR1 and USR2.
2013-06-14 16:38:18 +09:00
Jean-Philippe Andre 07ef0fdd93 evas/cserve2: Add UID to shm file path
+ Improve debug for corner case (never happened)
2013-06-14 16:38:18 +09:00
Jean-Philippe Andre 82584a85fb evas/cserve2: Check for errors in evas sw engine 2013-06-14 16:38:18 +09:00
Jean-Philippe Andre 19fb35d657 evas/cserve2: Close scaled images after drawing 2013-06-14 16:38:18 +09:00
Jean-Philippe Andre 6f548d59af evas/cserve2: Fix crash in expedite test 23
Test 23: load lots of scaled images and draw them
Problem: cs2 fails to load more images at some point. (root cause to be fixed!)
After that, client expects some data, but there is none, so it segfaults.
2013-06-14 16:38:18 +09:00
Cedric Bail 1403b3a9ad evas: preliminary work on texture destruction for async preload of texture. 2013-06-14 16:38:18 +09:00
Cedric Bail 1073084807 evas: change cache API to forward Eo object. 2013-06-14 16:38:18 +09:00
Cedric Bail ab9c734b7f evas: cleanup GL texture allocation with some code refactoring. 2013-06-14 16:38:18 +09:00
Carsten Haitzler 745ce709a0 evas: wayland_egl - mirror changes for qcom tile begin/end in wayland egl. 2013-06-14 15:34:51 +09:00
Carsten Haitzler 7a9f40b5ee evas: wayland egl - mirror changes to gl_x11 for swapbufferswithdamage 2013-06-14 15:32:39 +09:00
Carsten Haitzler c1190d4539 evas: gl engine: chg eglswapbuffersregion to swapbufferswithdamage extn instead. 2013-06-14 14:42:03 +09:00
Rafael Antognolli d44a69f911 evas/map: Add FIXME comment to remember that it's just a workaround. 2013-06-13 19:16:23 -03:00
Chris Michael f43ac1a181 EFL Formatting.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-13 07:00:09 +01:00
Jiyoun Park f488cf2b4d Evas: Fix bs if app call image object update add after call api like
fileset.
2013-06-13 14:09:28 +09:00
Daniel Willmann 0e51bff61a eina_test_str: Make sure we have an empty string before using strcat
Caused issues with address sanitizer. Just calling allocating memory for
a string does not mean that it's empty/NULL-terminated.
2013-06-12 23:57:42 +01:00
Rafael Antognolli 79496745cf ecore/wayland: Translate CTRL + keys on Wayland.
The "compose" component of the ecore input events must be translated to
the correct value when CTRL keys are pressed. This implementation was
copy & pasted from the xcb backend.
2013-06-12 18:50:31 -03:00
Jérémy Zurcher 22220ca70a improve eina_str coverage
my time killer, what a sad life ;))
2013-06-12 23:34:40 +02:00
Jérémy Zurcher d0d1b705fb indent eina_list tests 2013-06-12 23:34:40 +02:00
Jérémy Zurcher 0baf4b3561 eina_str_split_full_helper: indent 2013-06-12 23:34:40 +02:00
Jérémy Zurcher bc182253a7 eina_str_split_full_helper: check params, set NULL at the end of token array 2013-06-12 23:34:40 +02:00
Jérémy Zurcher 1d3fd66860 eina_chained_mempool: typo 2013-06-12 23:34:40 +02:00
Jérémy Zurcher efe5fbb780 eina_chained_mempool: fix ERR arg format 2013-06-12 23:34:40 +02:00
Eduardo Lima (Etrunko) 734e52d011 ecore_wl: Handle ECORE_WL_WINDOW_TYPE_NONE correctly
Also changes the default window type to ECORE_WL_WINDOW_TYPE_TOPLEVEL as it is
the most used case. If someone needs another type, set it manually.

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-06-12 17:40:02 -03:00
Tom Hacohen aab50301a6 Edje examples: Fixed knob to be visible in the drag example. 2013-06-12 14:06:27 +01:00
Carsten Haitzler eac7636a1e disable cedric leakage causes in edje mmap file set. :) 2013-06-12 08:34:24 +09:00
Eduardo Lima (Etrunko) d3292a7ae9 Split .gitignore into multiple files
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-06-11 18:18:50 -03:00
Carsten Haitzler fdabe06989 evas - partial rendering support now for qualcomm extn too. 2013-06-11 18:12:07 +09:00
Jérémy Zurcher 1f7ae48215 eo_class_new: fix big memory waste
extn_data_size is not equal to extn_data_off,
current class data size and data offset must be substracted first

elementary_test bubble peak usage goes from 13.7 MiB to 12.5 MiB
2013-06-10 16:42:15 +02:00
Jérémy Zurcher 4e742bf0bf eo: fix advertised object size in dbg msg 2013-06-10 16:42:15 +02:00
José Roberto de Souza 274799cb08 eldbus: Fix crash when eldbus is shutdown and we have a live connection of type address
Also show info about each connection of type address live.
2013-06-10 11:30:49 -03:00
Tom Hacohen 3137e18962 Revert "continuation of ascent/descent fix by tom - make textblock work too."
This reverts commit 9473c4a9a5.

This commit is not correct. It just goes through every font in the
fontset, which is usually all the fonts in the system and tries to get
their ascent/descent and by that getting the max ascent/descent. This
won't work nicely.

The solution is to properly fix textblock, if you think there's
something lacking (I.e in the same way I did text).

However, my changes did not change previous behaviour, but were just
wrappers, so I don't see why extra changes would be needed. Please
elaborate.

I'm reverting this because:
1. I don't think it's correct.
2. It severly broke e in some cases (reference:
      http://www.enlightenment.org/ss/e-51b5d5e98cd387.04568822.png ).
2013-06-10 14:52:10 +01:00
Tom Hacohen d7db12f196 Revert "fix slowdown as a result of fixing text ascent/descent for fontsets from tom."
This reverts commit 9ecc87713d.
2013-06-10 14:51:38 +01:00
Boris Faure e0372fc54d eina_log: screen-256color also support colors 2013-06-09 15:50:11 +02:00
Carsten Haitzler c979a52553 fix bug introduced by: f1ba71147e
max ascent/descent are not the same as ascent and descent... get them
specifically.
2013-06-09 17:30:34 +09:00
Boris Faure 55b66a93d7 eina-log: xterm-256 (or terminology someday…) supports colors 2013-06-08 21:07:22 +02:00
Tom Hacohen f2317ac875 Evas font: Fix initialization of ascent/descent for empty objects. 2013-06-07 18:09:51 +01:00
Tom Hacohen e1cffeecef Evas text: Removed unused variables. 2013-06-07 18:09:50 +01:00
Chris Michael b9a6337b67 Egl Overhaul (ecore_evas part)
- Add code to allow Async Render with Wayland_Egl
  (NB: Currently disabled. Evas_Textgrid borks when this is enabled)
- Create ecore_wl_window first so we can get surface and pass to evas.
- During show, we no longer need to pass the surface to evas.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael c2a2b36083 During shm engine creation, we can create the ecore_wl_window first
AND get the surface for it...so that we can pass the surface directly
to the evas engine.

NB: Works. nothing broken.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael c4ee53a689 Egl Overhaul (ecore_evas part)
- In common_render_updates_process, calls to window_damage will
Accumulate the damage, so add a call After to push damages.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 6b1e8905f8 Ok ... Big Wl Egl Overhaul...(evas portion)
- Setenv for egl_platform before we init gl/egl, etc
 - Ignore check for NULL surface to indicate destroying (this is all
not need now).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael cf8e054889 Add private function to get the window hash.
When destroying window, also destroy animator callback.
Change ecore_wl_window_damage function to Only do damage.
Add separate ecore_wl_window_commit function to push those accumulated
damages.
In ecore_wl_window_surface_create, if the window already has a
surface, return that ... Not Null.
During window show, only create a shell_surface if it does not Already
exist.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 659c6548d9 Add private function to get the window hash.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 92a649e35b Modify ecore_wl_input keypress code to handle modifiers Not on every
keypress, but rather Only on they actual modifier event.

Add some printf debugging for Non-Printables like Ctrl, etc

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael ff73dd600b Add ecore_wl_animator_source_set code for setting Custom animators.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 3304eeb59e Modify ecore_wl_animator_source_set function to not need a window.
Add ecore_wl_window_commit.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 9276cca32f Fix move_resize to call the proper function.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 28c3b24593 Fix segfault: Don't try to printf a debug message if we don't have a cache.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael a4dea5a0cb Bunch of minor "consistency" changes to bring egl and shm code in-sync.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael 0dd34d31e2 Add support for move_resize.
Bunch of minor "consistency" changes to bring egl and shm code in-sync.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael 36e43b271a Add anim_pending and anim_callback to window structure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael ec328ec328 Fix some doxy formatting.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael e9757ad8eb Add async render support for ecore_evas_wayland_egl
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael 31a98ebd77 Add wl_egl_window to private structure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael ec86e11eee Remove dead commented code and fix up formatting.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Rafael Antognolli 4b5d52fca1 evas/callbacks: Prevent post_event_callback_call recursion.
If this function is called recursively, it will free the list of post
callbacks before the list stops being used, which will cause a segfault.

The only place where this seems to happen is on
https://phab.enlightenment.org/T124, probably due to the extensive mouse
events which are launched in an unexpected way.

This bug started happening after commit
164cc07237395f8fe6efa465e4f0c0c4863f78ed, where the
_elm_scroll_page_x_get() started being called by a post_event callback,
and forcing an edje recalc. This recalc triggered another post_event
callback, thus causing the mentioned segfault.

If there's a better way to prevent this from happening, please change
the mentioned code.
2013-06-06 18:42:16 -03:00
Tom Hacohen f1ba71147e Evas font: Fixed line size calculation using multiple fonts.
Additional fixes to cc4cf77865.
There were two problems:
1. Usage of max_ascent instead of ascent.
2. Initialization of the ascent value according to the first font,
   instead of 0 (as the first font might not even be used).
2013-06-06 15:42:41 +01:00
Tom Hacohen e81edab826 Evas font: Remove useless multiplication and division.
Does nothing, just looks ugly.
2013-06-06 15:42:41 +01:00
Daniel Willmann c1cba92f8b evas_font_load: Remove duplicate include of evas_font_ot.h
Because it defines USE_HARFBUZZ we need to include it before testing for
this define.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-06-06 10:54:57 +01:00
Tom Hacohen 0d1ba652f0 Evas font: Fixed hb_font_destroy related warning.
Thanks to Daniel Willmann.
2013-06-06 10:42:06 +01:00
ChunEon Park ffe67b8043 edje - refactoring.
edje_part_calc() is too heavy. split map calcutation from edje_part_calc()
2013-06-06 18:36:40 +09:00
ChunEon Park b98b7d5e04 edje - go away unnecesary code 2013-06-06 18:22:26 +09:00
ChunEon Park 8476e20ffe edje - support map color set 2013-06-06 18:18:36 +09:00
Chris Michael 6e54a050d8 Add pre_post_swap_callback_set to Wayland Interface for Ecore_Evas.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-06 04:42:57 +01:00
Chris Michael 97a425b52d Fix formatting.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-06 04:29:42 +01:00
Chris Michael b951b98d47 Set render_engine info to new information in eng_setup before we do
comparisons.
Add comment about NULL surface being passed in.

Fix segfault when we close windows...uartie, this one's for you ;)

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-06 03:51:57 +01:00
Chris Michael 4d505eed1c When checking for engine info changes, use the New engine info passed
in to us for the checks (not the old existing engine info).

NB: Fixes T134 and T135 buggers

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-05 13:24:09 +01:00
Carsten Haitzler 556161783c evas: Standardize autofoo makefile.am for binary loaders to look like the rest format-wise. 2013-06-05 20:08:58 +09:00
Carsten Haitzler d32758e2de evas: mirror partial swap fix in wl egl and move to alloca for rect buf. 2013-06-05 18:11:46 +09:00
Carsten Haitzler 0b8815a7e1 evas: fix partual swap rect output list - coords wrong. 2013-06-05 18:11:46 +09:00
Jiyoun Park ebf0cd6728 Evas: fix gif cannot decode alpha value correctly. 2013-06-05 15:26:09 +09:00
ChunEon Park a553f9459f edje/edje_program - clean code 2013-06-05 14:37:53 +09:00
ChunEon Park dfd491a751 edje/main - incorrect size set 2013-06-05 13:43:27 +09:00
Eduardo Lima (Etrunko) a346c834c1 edje_cc: Add -dd/--data_dir option
Used for specifying the path of files specified in 'data.file' section

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-06-04 17:39:30 -03:00
Rafael Antognolli 383bb37e61 evas/wayland_egl: Workaround for map perspective issues.
Account for the framespace offset on perspective fx and fy of each map
point.

This is just a workaround because I could not understand exactly why it
is needed. When no perspective is used, the viewport is set to the size
of the surface, and each map point seems to be used as is, with no
adjustment being needed.

However, when the map is not flat (perspective is used), a more complex
math is used to find the glViewport size. It ends up being bigger, but
there are some offsets used to compensate that, gc->shared->ax/y, which
are added to each vertex before pushing them. Thus, it seems to me that
the framespace offset should not be added to them, but things are weird
if this is not done.

Anyway, I just added those offsets, and it should not impact on gl_x11
since it's not using framespace, and software engines don't seem to
implement perspective anyway, so it all should be fine.

If anyone understands better what's going on here, please make a proper
fix or at least contact me to explain the problem, and maybe I can fix
it by myself.
2013-06-04 14:52:26 -03:00
Jean-Philippe Andre 54e5d651e4 evas/cserve2: fix jpeg loader crash (invalid free)
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-04 20:21:17 +09:00
Jean-Philippe Andre 5d7689d627 evas/cserve2: fix crash in server side when sending SIGINT.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-04 20:21:16 +09:00
Jean-Philippe Andre 6531423fd7 evas/cserve2: fix SIGFPE in expedite test case.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-04 20:21:16 +09:00
Jean-Philippe Andre 5836f503e1 evas/cserve2: fix crash in cserve2's font loading mechanism.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-04 20:21:16 +09:00
Jean-Philippe Andre e973be52f9 evas/cserve2: fix memory leak when changing font hinting.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-04 20:21:15 +09:00
Jean-Philippe Andre a5329fc680 evas/cserve2: add lots of error checks in the client side.
It seems some images are fully loaded even when we request
only preload. The load handler will take care of both cases anyway.

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-04 20:20:55 +09:00
Carsten Haitzler 20834f0925 match egl changes in x11 with wl. 2013-06-04 15:46:24 +09:00
Carsten Haitzler 2bfe58887d evas gl: do not assume querying extension strings are extns in glx and egl. 2013-06-04 15:35:15 +09:00
Cedric Bail dba4a080d9 eet: for more safety let eet handle the reference to the file. 2013-06-04 15:04:19 +09:00
Cedric Bail 06cd16548c eina: add eina_file_dup. 2013-06-04 15:04:19 +09:00
Cedric Bail 080ce9316b evas: refactorize gl texture creation code. 2013-06-04 15:04:19 +09:00
Cedric Bail 229d9f1efd evas: make it usable from modules. 2013-06-04 15:04:19 +09:00
Jean-Philippe Andre 452a301bfa evas/cserve2: fix fonts flags.
aka: fix italic fonts or T25 .

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-04 15:04:19 +09:00
ChunEon Park d3e1cb055a edje - use Eina_Bool 2013-06-04 14:42:52 +09:00
ChunEon Park 86f37578fa edje/edje_cc_parser - support [] markers for indexing values 2013-06-04 14:30:07 +09:00
Cedric Bail d1bed386bd evas: correctly detect if loader support asynchronous preloading.
This is an astonishing bug, I wonder since how long it has been there. It
is basically due to the use of void * and a wrong cast. Type checking is
clearly useful, let's use it more !
2013-06-04 11:22:13 +09:00
Cedric Bail ad5d75dfcd evas: add support for engine specific extention during thread task. 2013-06-04 11:20:25 +09:00
Cedric Bail cd57e792bc ecore: actually return the real value, even if they were the same in this case. 2013-06-04 11:20:25 +09:00
Cedric Bail 4d15a0f50f evas: add infra to block the main loop from evas.
PS: later on, I think we should just move evas to use Ecore infra
directly to create jobs and sync with the main loop.
2013-06-04 11:20:25 +09:00
Ederson Desouza b52a380a5f Support for -1.0 @ text ellipsis fields -- for not ellipsizing it at all. 2013-06-03 12:02:16 -03:00
ChunEon Park ad7622b94a edje/edje_cc - remove white spaces 2013-06-03 20:55:10 +09:00
Daniel Zaoui a435306974 Eo: improve error message. 2013-06-03 14:31:31 +03:00
Carsten Haitzler 98efd5ad86 fix edje parts of type GROUP on size min calc to calc the child groups too 2013-06-03 17:18:25 +09:00
Simon 23ed5115c0 evas: Fix evas gif image loader for libgif version 5
Because arc doesn't like me much at the moment here's a simple patch to
fix the gif loader for the latest libgif version. DGifOpen now takes a
error param as its final argument, if the param is not NULL it will
return a error code if it fails. Similar to another patch i sent a few
months back. The patch has been tested on OBS for old and new versions.
2013-06-03 09:16:25 +01:00
Ryuan Choi a011fc1dd9 edje_entry: password entry should not be selected when doublc clicked
or tripple clicked.

selection should be allowed when select_allow is true whatever
select_mode is.

Reproduce step is below.
1. ELM_THEME=default-desktop ELM_PROFILE=standard elementary_test
--test-win-only "Entry Scrolled
2. double click on password entry.
2013-06-03 15:47:05 +09:00
Mike Blumenkrantz 4ea0e29c6f add embryo params for proxy src visible/clip
hermet please look at these, they don't seem to work right for some reason
2013-05-31 15:28:57 +01:00
ChunEon Park 11b43dad4b evas - fixed source clip. If the source object is a evas primitive object, then proxy won't clipped by proxy clipper itself. 2013-05-31 20:29:18 +09:00
Carsten Haitzler 9ecc87713d fix slowdown as a result of fixing text ascent/descent for fontsets from tom. 2013-05-31 20:09:41 +09:00
ChunEon Park f55092ab93 edje - support edc proxy.source_clip 2013-05-31 20:08:59 +09:00
Carsten Haitzler 9473c4a9a5 continuation of ascent/descent fix by tom - make textblock work too. 2013-05-31 19:08:35 +09:00
Chris Michael b524b31256 Add new wayland_egl engine that does buffer age, double/triple
buffering, etc, and uses evas gl_common (so glview/simple tests in elm work).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael 30bd7c27e0 Add evas_wl_main file.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael c5355d32ee Add start of new wayland_egl engine code.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael ae9246beae Add evas_engine header file
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael a6dcda0adc Add new Evas_Engine_Wayland_Egl header.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael a0ed1b5b5d Remove old wayland_egl engine code in prep for rewrite to use gl_common.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
ChunEon Park 80e1353807 edje - support edc source_visible 2013-05-31 17:35:30 +09:00
ChunEon Park f87c050342 edje - indent fix. 2013-05-31 16:53:04 +09:00
ChunEon Park 87ce63941d edje/edje_cc - fixed typo 2013-05-31 16:04:33 +09:00
Jérémy Zurcher d3c5356cf3 Makefile: compilation succed without png support
use --enable-image-loader-png=no
related to T64 and D133
2013-05-30 23:47:35 +02:00
Mike Blumenkrantz 29a4edb274 improve eina_str_convert_len docs 2013-05-30 07:41:55 +01:00
ChunEon Park fd7d1f9f98 evas/render - this is insane to me since nowhere it release the render_pre_done FALSE pairly.
This causes the textblock layouting problem.

It should be checked when does it really render_pre() called.

If someone knows the reason of this, please ping me.
2013-05-30 14:50:47 +09:00
ChunEon Park 1f558c6cde evas/textblock - revert the textblock pre_render_done.
Fundamentally, this is not a point of the problem.

somewhere pre_render caller is inccorrect without releasing the flag.
2013-05-30 14:43:41 +09:00
Mike Blumenkrantz fbd09e2562 add support for text/x-moz-url DND operations 2013-05-29 13:46:11 +01:00
Mike Blumenkrantz 37aa26b977 add eina_str_convert_len() for converting from encodings which contain '\0' characters
eina_str_convert() is GUARANTEED to break when doing any such encoding (eg. UTF16->UTF8). I don't know who added the original function, but this is very bad, and we should almost certainly deprecate eina_str_convert() so people are not surprised when they are unable to convert strings as expected.
2013-05-29 13:46:11 +01:00
Carsten Haitzler 6a4cdea904 fix evas partial swapotkeep the full re-render in the rects if it switches to full mode. 2013-05-29 21:38:11 +09:00
Chris Michael 964f4769ae Fix potential memleak reported by klockwork.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-29 13:24:49 +01:00
Chris Michael 23fc3b3da7 Fix possible memory leak reported by klockwork.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-29 13:11:54 +01:00
Carsten Haitzler c8256f5fae fix evas gl engine partial swap to do full swap in full mode. 2013-05-29 17:30:42 +09:00
Jihoon Kim 4a90649f48 Fix typo in Evas headers 2013-05-29 10:27:10 +09:00
Eduardo Lima (Etrunko) c03c6bd12c edje_cc: create data hash if it doesn't exist
The check was being done only in 'data.item' handler

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-05-28 16:17:09 -03:00
ChunEon Park b7ff5a737f evas/textblock - fix the textblock to render pre again if it needs to be relayouting 2013-05-28 23:07:24 +09:00
ChunEon Park 7003b7fd0b evas/textblock - fix indent 2013-05-28 23:00:31 +09:00
Stefan Schmidt 0a20c045b2 evas/textgrid: Fix memory leak.
Free allocated color before we return in the failure case.
2013-05-28 13:47:52 +01:00
Stefan Schmidt f30af4969d eet_image: Free bigend_data in all error cases.
We have been leaking bigend_data if we hit any of the error cases.
2013-05-28 13:47:52 +01:00
Eduardo Lima (Etrunko) 3142db2880 Example for eldbus_address_connection_get() functions
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-05-28 09:42:29 -03:00
Eduardo Lima (Etrunko) 4fc274253d eldbus: Welcome two new APIs and one connection type
eldbus_address_connection_get() and eldbus_private_address_connection_get()
are similar to the respective _connection_get() counterparts, but enables
users to connect to buses other than system or session.

The new type introduced for those connections is ELDBUS_CONNECTION_TYPE_ADDRESS
and they require an additional address parameter, which will be passed to
dbus_connection_open().

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-05-28 09:42:29 -03:00
Eduardo Lima (Etrunko) 1ac40b5502 eldbus: New internal function _eldbus_connection_free()
This is actually a split on the _eldbus_connection_unref() function, that
will be called either when the refcount reaches 0 or to force the deletion
of an Eldus_Connection.

The second use case will be contemplated in a following patch.

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-05-28 09:42:29 -03:00
Eduardo Lima (Etrunko) fb0dc85bc3 eldbus: Reset value of fd_handler after deletion
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-05-28 09:42:29 -03:00
Chris Michael 6d0cc0d9bf Deprecate old dnd functions (useless, improperly named, etc)
Add shiny new Drag-N-Drop code ;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael b7ac7bdfd9 Add ecore_wl_input_get function
Remove global dnd object (not necessary)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 0950237f04 Don't create a shell surface for DND window types.
Set surface_user_data in attach function to be the buffer we are
attaching (NB: Expected by some compositors like weston).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 2b15d4ce1f Add dnd_offer and dnd_end event types.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael a6343c65c2 Deprecate/remove some internal functions that were just not needed.
Add a wl_data_offer to Ecore_Wl_Dnd_Source

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 7983c69255 Deprecate some old dnd functions that were named poorly or just did
not function.
Add Dnd Offer and Dnd End events.
Add a new window type (dnd).
Add new functions for dnd

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael aef87fc411 Move window function(s) declaration(s) to be with the rest of the
window functions.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 09a3290c54 Define Ecore_Wl_Input_Group and Ecore_Wl_Dnd_Group for doxy
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 4c88eb0325 Add missing 'void' for function declaration.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael a85a196e4a deprecate badly named ecore_wl_dnd_drag_start function.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:50 +01:00
Daniel Zaoui 3bfc9ae76f Ecore: fix warnings 2013-05-27 10:49:27 +03:00
Jihoon Kim 6d51904588 Add ECORE_IMF_INPUT_PANEL_LAYOUT_DATETIME, EDJE_INPUT_PANEL_LAYOUT_DATETIME layout 2013-05-27 16:14:52 +09:00
Chris Michael e232b629a7 At this stage of engine shutdown, the eina log domain has been removed
and is not valid, so don't use ERR to print a message.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-24 21:36:05 +01:00
Chris Michael 5f5ab9d9c6 minor formatting fixes.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-24 21:34:33 +01:00
Chris Michael 1d58f5ff1d Don't allocate space for a mode name unless the nameLength is greater
than 0.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-24 18:25:53 +01:00
Daniel Willmann 16cbbb202f ecore_con: Server start time was not initialized correctly
ecore_con_event_server_add() is never called (at least not in the
standard TCP connection case, so initialize svr->start_time in
ecore_con_server_add(). This shouldn't regress any other behaviour as
this is done at the very beginning and any later change to start_time
will still happen.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-24 16:18:02 +01:00
Guillaume Friloux 7b88439346 cl->start_time isnt initialized, so ecore_con_client_uptime_get() just doesnt work. This patch fixes it. Bug found by asdfuser. 2013-05-24 15:14:09 +01:00
Guillaume Friloux 359c17be56 I missed a timer_reset for the case we did set a server timeout and no client timeout. Thanks again Cravix for the awesome reports. 2013-05-24 15:14:09 +01:00
Daniel Willmann 4cd116db19 tests/ecore_con: Sadly IPv4 is still more prevalent than IPv6
Switch to IPv4 loopback - especially since our build slaves don't have
IPv6 support...

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-24 14:43:32 +01:00
Daniel Juyung Seo 6048099ff5 Evas_Common_Header.h: fixed documentation. 2013-05-24 20:22:07 +09:00
Daniel Willmann 7d654ec027 ecore_con: Reenable ecore_con tests - they seem fine (but don't use port 8080)
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-24 11:47:47 +01:00
Guillaume Friloux 996c98f36a Fixes another bug found by Cravix (IRC) where even if data is going over the socket, we still timeout the connection if ecore_con_client_timeout_set and ecore_con_server_timeout_set are used! This is even a worst bug than the previous one. This patch should also be applied and tested on 1.8. Thx Cravix! 2013-05-24 11:33:06 +01:00
Guillaume Friloux 0a293dd981 Fix a bug introduced on 2011-12-10 05:42:32 (GMT) and nobody ever noticed because there isnt enough people that cares about ecore_con (and the lower level libs in general). Big thanks to Cravix (IRC) for finding this issue! 2013-05-24 11:33:06 +01:00
ChunEon Park d1c88be8cf evas - removed inherit mode in display mode.
it's not necessary at this moment and i don't think it's useful neither.

if you need, then please add it at the moment.
2013-05-24 18:03:49 +09:00
Daniel Juyung Seo 3c9856f9e0 eina_list.h: fixed documentation source formatting while reading the code. 2013-05-23 20:26:48 +09:00
Daniel Juyung Seo 3c618e54a1 ecore_pipe.c: fixed fd handler increasing issue.
Call _ecore_pipe_unhandle() when you return from _ecore_pipe_read() or the fd will never be closed.
This fixed increasing numbers of fd handler issue when you call ecore_pipe_add/del repeatedly.
In that case, reusing ecore_pipe is recommended though.
2013-05-22 20:46:19 +09:00
Mike Blumenkrantz ab079ae1a5 move ecore-x fd handler creation to after ecore-x init has finished so we can ignore more x events during startup 2013-05-22 10:15:37 +01:00
ChunEon Park e83accf1ee edje/textblock - keep the styles if the new font by the text class is applied.
text is already did. for the consistency textblock should be kept the same way.
2013-05-22 18:04:34 +09:00
ChunEon Park f380fa75cf edje - oops remove not intended lines 2013-05-22 16:53:31 +09:00
ChunEon Park f45f2ef0ae edje/text - trivial change (typo, indent) 2013-05-22 16:49:43 +09:00
David Walter Seikel 7cdda677de Typo-- 2013-05-22 12:57:12 +10:00
David Walter Seikel 01ad3d9a66 Function prototype not needed. 2013-05-22 12:57:12 +10:00
David Walter Seikel d6b3e8848a Stop leaking evas objects in Lua.
Bug and test case reported by Leif Middelschulte.
2013-05-22 12:57:11 +10:00
Tom Hacohen 25f79697af Revert "Evas eo compat: Freeze object events when deleting."
This reverts commit 3c53b824d8.

This is a bad idea for now, as we need to mark some more events as hot
(including compat generated ones) before doing it.
2013-05-21 16:32:09 +01:00
Tom Hacohen 3c53b824d8 Evas eo compat: Freeze object events when deleting.
In the past events wouldn't be called for deleted objects, retain that
behaviour.
2013-05-21 15:07:41 +01:00
Tom Hacohen 6e3f555fe4 Eo: Made del event an hot event (we always want to get it). 2013-05-21 15:07:41 +01:00
Chris Michael afff55eec5 Fix memleak in ecore_x_randr_crtc_settings_set.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-21 14:32:25 +01:00
Daniel Juyung Seo b2dd73e841 evas_object_textblock.c: fixed a typo in the documentation. 2013-05-21 19:21:47 +09:00
Chris Michael bfc7e7cfd1 Set the surface user data to be the current buffer.
NB: This is needed because some compositors (Weston) are expecting
wl_surface_get_user_data to return a buffer.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-21 10:51:15 +01:00
Chris Michael 8c9353e3ec Use ecore_wl_window_surface_find to get the Ecore_Wl_Window.
NB: This is needed because some compositors like Weston are expecting
the wl_surface user_data to be a buffer, not some arbitrary data.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-21 10:49:40 +01:00
Chris Michael d7cbc84aa8 Add function to get a Ecore_Wl_Window from a wl_surface.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-21 10:46:04 +01:00
Cedric Bail f13a35909b evas: always set degre to zero before using it. 2013-05-21 09:58:24 +09:00
Ryuan Choi 32b3132c84 ecore_evas/x: Fixed that cursor object was not disappear
When moved mouse among two objects having cursor set,
EVAS_CALLBACK_MOUSE_OUT and EVAS_CALLBACK_MOUSE_IN are fired.

I observed that evas_object_del in callback of EVAS_CALLBACK_MOUSE_OUT
calls EVAS_CALLBACK_MOUSE_IN
so that newly added cursor object was detached.
2013-05-21 09:38:20 +09:00
Rafael Antognolli 99be49551e evas/gl: Use GL_FRAMEBUFFER_BINDING, which is available on both.
Instead of a define from GL_DRAW_FRAMEBUFFER_BINDING to the above one,
just use it directly since it's available on gles and full gl.
2013-05-20 14:21:56 -03:00
Chris Michael 5da4fce18a With antognolli's framespace changes, we no longer need to subtract
framespace from the output/canvas to get proper x/y coordinates.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-20 18:19:03 +01:00
Mike Blumenkrantz 88698189ff fix eldbus generator memleak when failing to fetch args 2013-05-20 11:12:53 +01:00
Cedric Bail d66517debf ecore: animator can get called with the same value due to rounding and range limit. 2013-05-20 18:59:43 +09:00
Cedric Bail be153f92b6 evas: make canvas event to hot to be frozen. 2013-05-20 18:17:29 +09:00
Cedric Bail 1db92f9ac0 eo: some event should not be frozen. 2013-05-20 18:17:29 +09:00
Carsten Haitzler 0532a992d9 remove about 16m mem for mesa for extra evgl context
only creating the extra evasgl context on demand when/if needed and
thus save 16m of memory allocations corresponding to the extra context
2013-05-20 18:09:50 +09:00
Chris Michael c727ab8088 Fix antognolli build break when --with-opengl=es.
Basically, EGL does not define a GL_DRAW_FRAMEBUFFER_BINDING so we
test for that and if not found then define it to be
GL_FRAMEBUFFER_BINDING

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-19 07:13:03 +01:00
Chris Michael 31b1e11d8d Revert this, there is no build break apparently. Give cookie back to
antognolli

Revert "include evas_gl_common.h"

This reverts commit 81cee894e1.
2013-05-18 17:52:32 +01:00
Chris Michael 81cee894e1 include evas_gl_common.h
(Bad antognolli, No cookie !!)

NB: Fixes build break !!! If we are going to use defines from glext.h,
let's be sure to have the necessary header included Yes ?? ;)

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-18 15:56:13 +01:00
Carsten Haitzler e7349e8005 disable all the waiting on gl - squeeze some more performance out of gl. 2013-05-18 10:04:37 +09:00
Rafael Antognolli 8254bbc5e3 evas/gl: Restore framebuffer after texture creation.
If we don't do this, the framebuffer object used on shader_array_flush()
will be wrong.

NOTE: shader_array_flush() should take care of setting the fbo
correctly.
2013-05-17 20:31:06 -03:00
José Roberto de Souza d5ebe804dd edje: Fix edje box crash
When a signal change a state of a edje box to a state that was already active
and we add/del a item of edje box a crash happen.

Example:
test.edc:

collections {
	group {
		name: "box_text";
		parts {
			part {
				name: "elm.box.buttons";
				type: BOX;
				description {
					state: "default" 0.0;
					min: 0 100;
					max: 9999 100;
					align: 0 0;
					box {
						layout: "horizontal";
						min: 1 1;
					}
					visible: 0;
				}
				description {
					state: "show" 0.0;
					inherit: "default" 0.0;
					visible: 1;
				}
			}
		}
		programs {
			program {
				signal: "show,buttons";
				source: "gui";
				action: STATE_SET "show" 0.0;
				transition: ACCELERATE 1;
				target: "elm.box.buttons";
			}
			program {
				signal: "hide,buttons";
				source: "gui";
				action: STATE_SET "default" 0.0;
				transition: ACCELERATE 1;
				target: "elm.box.buttons";
			}
		}
	}
}

test.c:

//Compile with:
//gcc -g test.c -o test `pkg-config --cflags --libs elementary edje ecore`

static int count = 0;

static Eina_Bool _fill(void *data)
{
	int i;
	Evas_Object *layout = data;
	Evas_Object *edje = elm_layout_edje_get(layout);

	edje_object_part_box_remove_all(edje, "elm.box.buttons", EINA_TRUE);
	elm_layout_signal_emit(layout, "show,buttons", "gui");

	printf("_fill()\n");

	for (i = 0; i < 5; i++, count++)
	{
		Evas_Object *btn;
		char buf[50];

		btn = elm_button_add(layout);
		snprintf(buf, sizeof(buf), "button %d", count);
		elm_object_text_set(btn, buf);
		edje_object_part_box_append(edje, "elm.box.buttons", btn);
		evas_object_show(btn);
	}

	return EINA_TRUE;
}

EAPI_MAIN int
elm_main(int argc, char **argv)
{
	Evas_Object *win, *bg, *layout;

	win = elm_win_add(NULL, "test", ELM_WIN_BASIC);
	elm_win_title_set(win, "Test");
	elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
   	elm_win_autodel_set(win, EINA_TRUE);

	bg = elm_bg_add(win);
	elm_bg_color_set(bg, 255, 255, 255);
	evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
	elm_win_resize_object_add(win, bg);
	evas_object_show(bg);

	layout = elm_layout_add(win);
	elm_layout_file_set(layout, "test.edj", "box_text");
	evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
	evas_object_show(layout);

	_fill(layout);
	ecore_timer_add(5, _fill, layout);

	evas_object_resize(win, 800, 320);
	evas_object_show(win);

	elm_run();
   	elm_shutdown();

   	return 0;
}
ELM_MAIN()

(gdb) bt
0x00000000 in ?? ()
0xb7add287 in _edje_box_layout_calculate_coords ()
   from /usr/lib/libedje.so.1
0xb7add5cd in _edje_box_layout () from /usr/lib/libedje.so.1
0xb7c98ff7 in _evas_object_box_smart_calculate ()
   from /usr/lib/libevas.so.1
0xb7c97a36 in evas_object_smart_calculate () from /usr/lib/libevas.so.1
0xb7ae1b12 in _edje_part_recalc_single () from /usr/lib/libedje.so.1
0xb7ae3380 in _edje_part_recalc () from /usr/lib/libedje.so.1
0xb7ae59ff in _edje_recalc_do () from /usr/lib/libedje.so.1
0xb7b3603a in _edje_smart_calculate () from /usr/lib/libedje.so.1
0xb7c97be2 in evas_call_smarts_calculate () from /usr/lib/libevas.so.1
0xb7cc7d88 in evas_render_updates_internal () from /usr/lib/libevas.so.1
0xb7ba7c97 in _ecore_evas_x_render () from /usr/lib/libecore_evas.so.1
0xb7ba27c6 in _ecore_evas_idle_enter () from /usr/lib/libecore_evas.so.1
0xb7c27212 in _ecore_idle_enterer_call () from /usr/lib/libecore.so.1
0xb7c28d3d in _ecore_main_loop_iterate_internal ()
   from /usr/lib/libecore.so.1
0xb7c2941f in ecore_main_loop_begin () from /usr/lib/libecore.so.1
0xb7e8def8 in elm_run () from /usr/lib/libelementary.so.1
0xb7f6f8ee in appcore_efl_main () from /usr/lib/libappcore-efl.so.1
0xb7644bb5 in app_efl_main () from /usr/lib/libcapi-appfw-application.so.0
0x08074c5a in main (argc=1, argv=0xbffffb64) at src/main_tizen.c:155

==2036== Jump to the invalid address stated on the next line
==2036==    at 0x0: ???
==2036==    by 0x44C35CC: _edje_box_layout (in /usr/lib/libedje.so.1.7.99)
==2036==    by 0x42E8FF6: _evas_object_box_smart_calculate (in /usr/lib/libevas.so.1.7.99)
==2036==    by 0x42E7A35: evas_object_smart_calculate (in /usr/lib/libevas.so.1.7.99)
==2036==    by 0x44C7B11: _edje_part_recalc_single (in /usr/lib/libedje.so.1.7.99)
==2036==    by 0x44C937F: _edje_part_recalc (in /usr/lib/libedje.so.1.7.99)
==2036==    by 0x44CB9FE: _edje_recalc_do (in /usr/lib/libedje.so.1.7.99)
==2036==    by 0x451C039: _edje_smart_calculate (in /usr/lib/libedje.so.1.7.99)
==2036==    by 0x42E7BE1: evas_call_smarts_calculate (in /usr/lib/libevas.so.1.7.99)
==2036==    by 0x4317D87: evas_render_updates_internal (in /usr/lib/libevas.so.1.7.99)
==2036==    by 0x4465C96: _ecore_evas_x_render (in /usr/lib/libecore_evas.so.1.7.99)
==2036==    by 0x44607C5: _ecore_evas_idle_enter (in /usr/lib/libecore_evas.so.1.7.99)
==2036==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

We called anim->start aftwards just to be sure to stick to something if
all fail.
2013-05-17 18:46:04 -03:00
Daniel Willmann d1e38b8535 tests/ecore_animators: Don't rely on consistent timing
This may break under heavy load so we shouldn't rely on it. Instead make
sure that time only moves forward.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-17 18:16:09 +01:00
Daniel Willmann 04829b9244 ecore_animator: Ensure correct start/end values are returned.
Make sure pos_map(0) == 0 and pos_map(1) == 1

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-17 17:15:27 +01:00
Daniel Willmann 62325dd693 tests/ecore: Add test for ecore_animator
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-17 17:15:27 +01:00
Daniel Willmann 5f1614e1d5 eina_fp: Fix eina_f32p32_mul rounding issues
Previous multiplication just truncated the fraction part to 16 bits. If
we round properly we can actually increase accuracy a bit.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-17 17:15:27 +01:00
Daniel Willmann 7c20a90c3d eina_test_fp: Test multiplication and division as well
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-17 17:10:55 +01:00
Jérémy Zurcher 6667acf5a2 eo ptr ind: fix comments 2013-05-17 11:39:01 +02:00
Jérémy Zurcher f253cfc12c eo ptr ind: empty tables are freed except 1 kept as spare
- this reduces unused memory usage
- the spare table avoids the free/alloc corner case
2013-05-17 10:35:16 +02:00
Jérémy Zurcher 3e4127da52 eo ptr ind: current_table -> _current_table 2013-05-17 09:23:00 +02:00