Commit Graph

683 Commits

Author SHA1 Message Date
Cedric Bail e11df0e085 evas: sorry for the last broken commit. 2013-11-21 15:33:21 +09:00
Cedric Bail c113bdcfcf evas: header order are important.
First system, then EFL public, then EFL internal. If not, you break windows
build.
2013-11-21 15:18:42 +09:00
Cedric Bail c9f6889bf6 evas: actually include the header. 2013-11-21 14:49:08 +09:00
Cedric Bail 63c01cbb2a evas: reduce numbers of call to eet_init/eet_shutdown. 2013-11-21 10:50:48 +09:00
Carsten Haitzler 4eb4307aa2 evas - table - protect against invalid cell/row values (16bit overflow) 2013-11-20 18:07:17 +09:00
Tom Hacohen 7bba64d7ee Evas textblock: Fixed order of tags inserted with markup_app/prepend.
The order was messed up when inserting a few formats in the
markup_append/prepend functions without any characters between them.
For example, inserting "<b><i>" would result in "<i><b>" being inserted.

Thanks to YoungBok Shin for reporting this.
2013-11-19 16:05:34 +00:00
Daniel Zaoui 086c5ae901 Evas Smart: print Eo id instead of pointer to internal data. 2013-11-19 16:32:43 +02:00
Chris Michael 1f8789644b Remove read code.
Fixes Coverity CID1039498

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 12:52:38 +00:00
Cedric Bail ba30060ff9 evas: try to clarify licensing for people that are going to make their own Evas loader. 2013-11-18 19:21:06 +09:00
ChunEon Park 5cefa00d0a evas/render - optimize proxy rendering.
redraw proxy if the source is smart object and it's changed visually.
2013-11-18 16:12:30 +09:00
Daniel Juyung Seo 1500338a8d evas_object_main.c: fixed formatting while reading the code. 2013-11-18 13:08:37 +09:00
Cedric BAIL 239c326b96 evas: fix build without FontConfig.
Note that we still support building without FontConfig, so please
guard access to it.
2013-11-17 04:48:43 +01:00
Carsten Haitzler deec62c9b6 evas - fix neon blend code used for text rendering to not leave dirty end 2013-11-15 19:17:01 +09:00
Yakov Goldberg c101d85541 evas/textblock: add const for param in evas_object_textblock_style_set for consistency 2013-11-11 13:17:03 +02:00
ChunEon Park 0d9826919f evas/image - init default image state value explicitly. 2013-11-11 14:25:43 +09:00
ChunEon Park 76c7b9a275 evas/image - fixed typo. 2013-11-09 17:07:58 +09:00
ChunEon Park cdf56cbdae evas/image - removed dead code. 2013-11-08 19:48:37 +09:00
ChunEon Park 6f93d61b19 evas - removed dead code. 2013-11-08 19:22:12 +09:00
Tom Hacohen 6e3ead1936 Changed Eo class names to be consistent. #2
All the class names are now of the format: Elm_Type_Subtype_Extra

Thanks to Yakov for pointing out I forgot a few and for giving me a nice
list.
2013-11-07 14:37:00 +00:00
Tom Hacohen c7addf4083 Changed Eo class names to be consistent.
All the class names are now of the format: Lib_Type_Subtype_Extra.
2013-11-07 11:17:52 +00:00
Carsten Haitzler b07c0a76ce alpha1 release autofoo/build tree work to pass distcheck and actually work 2013-11-04 18:33:35 +09:00
Cedric Bail 2d54ae83bf evas: force complete items rebuild on evas_object_font_font_set. 2013-11-04 15:28:16 +09:00
Cedric Bail c179335b1f evas: update use of eina_cow_free for latest change. 2013-11-04 12:47:48 +09:00
Cedric Bail 05e17cb6b6 Revert "evas - clip shutdown fix to avoid invalid mem accesses"
This reverts commit eb6af1f1ff.

This commit was making the code much more complex than required. Let's make
eina_cow_free set the value back to its default.
2013-11-04 12:23:25 +09:00
Cedric Bail f4ae52ea67 evas: make mmap_set use const Eina_File. 2013-11-04 11:27:59 +09:00
Carsten Haitzler eb6af1f1ff evas - clip shutdown fix to avoid invalid mem accesses
many valgrind complaints on e shutdown are there regarding accessing
cow sections, lists and object elements during shutdown. this plugs
theses little holes to avoid the invalid accesses and thus avoids
potential crashes.
2013-11-03 21:43:11 +09:00
Carsten Haitzler 4eb7b81925 evas - re-fix to use first, last or if item is list head on text recomp 2013-11-03 20:33:05 +09:00
Carsten Haitzler f982f6f0a5 evas - text - only remove item from list if its in a list
this fixes a n eina complaint - valid as elipsis item was being
deleted and it was not in the list of items.
2013-11-02 19:35:45 +09:00
Carsten Haitzler c4f54e23e6 fix framespace handling in evas _render to not cause in/out events...
but this is not finished. this needs proper fixing. this is a quick
patch for just the worst. the real solution is discussed here:

https://phab.enlightenment.org/T457
2013-11-02 13:50:13 +09:00
Tom Hacohen a96b421fd4 Evas textgrid: Added some clouseau debug info. 2013-11-01 12:02:55 +00:00
Youngbok Shin cdb86e34bb Evas: Fixed textblock rendering to properly set render operation on context.
Render operation are not well tested. It appears that it was never properly setted
on a textblock, this would lead to see it rendered with the render operation of another
object.

Test Plan:
Add some rectangle object with textblock object.
The textblock style should be set to "backing=on backing_color=#ffffffff".
Set render operation to some rectangle with "evas_object_render_op_set(rect, EVAS_RENDER_COPY)".
Check the textblock.

Reviewers: woohyun, cedric, raster

Reviewed By: cedric

CC: cedric

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

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-01 11:12:01 +09:00
ChunEon Park 69077d19d7 evas/proxy - decide the proxy updation in the main render process.
because the proxy updation is decided in the proxy rendering time,

it couldn't be updated at the time if the source is changed before.
2013-10-31 17:04:23 +09:00
Cedric Bail e9614a9fdd evas: fix uninitialized use of font instance when no font is selected. 2013-10-31 11:02:28 +09:00
Jean-Philippe Andre b3b5999847 evas/cserve2: Prevent another infinite loop (flush)
And add some error messages
2013-10-30 19:48:17 +09:00
Jean-Philippe Andre 498418bb67 evas/cserve2: Prevent potential infinite loop (shutdown)
In shutdown, I've encountered an infinite loop.
It SHOULD NOT possibly happen, but somehow some image
was marked as delete_me=1 but still present in the LRU.
2013-10-30 19:48:17 +09:00
Jean-Philippe Andre 82e8028b5d evas/cserve2: Fix image preload with gl-x11 engine
Cserves supports only the SW (xlib) and GL (gl-x11) engines.
Also, improve cs2 support for some lesser used functions in the
gl_x11 engine.
2013-10-30 19:48:17 +09:00
Carsten Haitzler 6c28aff7a0 evas - animated images. fix leak in not freeing the list of frames itself 2013-10-30 18:18:08 +09:00
Jean-Philippe Andre aa6d4a3756 evas/cserve2: Fix error path in evas_cache2_image_writable()
Return NULL and check for nullity in the only calling function.

Fixes CID 1039461 (Logically dead code)
2013-10-29 15:12:58 +09:00
Jean-Philippe Andre 44f89bb8ad evas/cserve2: Fix CID 1039286 (Resource leak)
Close socket in case of connection failure.
2013-10-29 15:08:19 +09:00
Jean-Philippe Andre 10f80df018 evas/cserve2: Fix new Coverity issues
Nothing extraordinary here.
Most potential crashes are extremely unlikely.

- Fix CID 1113444

- Fix CID 1113442

- Fix CID 1113441 (Logically dead code, can not be NULL)

- Fix CID 1113440: Explicit null dereferenced

This is actually an impossible situation.
Fixed by checking for nullity and printing out some error
messages instead of just crashing.

- Fix CID 1113439: Dereference after null check

Logically impossible code as both idxpath and datapath
must be either set or null at the same time.
Change the if logic to tell Coverity there's no bug.

- Fix CID 1113438 (Argument cannot be negative)

Fix wrong check of return value from shm_open.

- Fix CID 1113437 (Argument cannot be negative)

Fix wrong check of return value from shm_open.

- Fix CID 1113436 (Dereference null return value)

This case really shouldn't happen.
But the extra check does not hurt.

- Fix CID 1113435 (Dereference before null check)

Check for nullity after map open.

- Fix CID 1113434 (Extra sizeof expression)

Debug buggy debug tool :)

- Fix CID 1113433 (Uninitialized scalar variable)

Insignificant issue: only prints wrong debug logs :)

- Fix CID 1113431 (Uninitialized scalar value)

Check if (!found) only to print out logs. Not a big deal
if found was invalid.

- Fix CID 1039462 (Logically dead code)
2013-10-29 15:08:14 +09:00
Cedric Bail 6bc393e740 evas: fix leak of ellipsis object in Evas_Object_Text. 2013-10-28 19:45:46 +09:00
Cedric Bail 8b01f7b06d evas: fix possible memory leak in the ellipsis code. 2013-10-28 18:44:26 +09:00
Jean-Philippe Andre 1513007815 evas/cserve2: Merge Glyph_Data and mempool index
Glyphs were previously using 3 shared buffers, now reduce to 2:
- Memory pool (mempool) containing the glyph drawable data
- Index table (Shared_Index / array) containing only the
  indexes of the buffers in the mempool
- Glyph_Data table (array) containing the glyphs descriptors
  AS WELL as the buffer indexes.

So, we just merge the two index tables into one by using directly
objects of type Glyph_Data for the referencing of the mempool
buffers.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre 7b62d77cf5 evas/cserve2: Add debug and reduce number of GLYPHS_USED messages
One socket message was sent per each glyph used ... which means
a LOT of messages when text is being redrawn.

Reduce this flow of messages by triggering send() only when
50+ items are being used.
Btw, USED is a bit useless as there is no UNUSED equivalent.

Also, slightly improve debug logs.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre 4c44b5a553 evas/cserve2: Use Eina_Refcount instead of int
Use the refcount macros instead of manually handling
integers. Not sure if it really helps since the refcounting
in cs2 client is a bit special :)
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre ffa27c7082 evas/cserve2: prevent unwanted remap of strings table
In the client, string_get() can cause a remapping of the
strings index & mempool. This means that all pointers to
string data are invalid past that call.

Solution: add a safe_get() function that prevents remap
during search. It might prove faster also, but will
return NULL more often.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre c8e6f9e5f9 evas/cserve2: Fix font reloading after cserve2 restart.
Well it LOOKS like it's working properly.
Clients can safely keep running after cserve2 crashed and
restarted.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre 6b6e33e262 evas/cserve2: Fix refcount for glyphs & glyph buffers
Maybe a little overkill on the iterations (ref/unref),
but at least we can really track down which glyphs are
currently being used.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre e74cac57e4 evas/cserve2: Reconnect to cserve2 in case of server crash
Try to reconnect to cserve2 if the socket connection was lost.
Resend some messages if necessary.

Images reload seems to be working.
Actually, the images don't change over time, so the clients just
keep the previous references to their images.

FONT RELOAD IS NOT WORKING:
- Crashes
- Invalid glyph data
- Infinite loop in _glyph_map_remap_check()

Root cause:
When new glyphs are requested from the server, they are added to
the mempool. So it is necessary to remap the font.
Unfortunately, in case of server reboot, we did not keep the mempool
so the old glyphs that were not requested again will not be valid.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre 2cd0b316f1 evas/cserve2: Fix CList usage
In some error cases, the list could become a cycle.
Foreach would then loop forever!
2013-10-28 15:47:15 +09:00