Only call eina_threads_shutdown when thread are dead and not before.
Release and destroy thread lock before calling evas_async_events_process
as you should never have a lock taken in the main loop when calling it.
SVN revision: 59119
All thread debugging facility, including lock debug, on by turning --enable-debug-threads
at configure time of eina.
When threads check are disable, make sure that all lock/release are called
from the main loop only. And in all case, eina_lock_new/eina_lock_delete should be
called from the main loop.
Remove static initialization as it is not portable under Windows.
SVN revision: 59118
Subject: evas_gl_api_get patch.
Here's a patch that simply overrides the GL functions for Evas_GL
except for two functions that I provide on my own. It may have some symbol
resolving warnings but that'll all go away eventually when we do everything
via dlsym or getProcAddress.
You can apply the patch to the latest revision of evas. (I've just
updated them) I'm also attaching a sample GLES program that uses
evas_gl_api_get. You don't need to link it to -lGL.
SVN revision: 59092
some fundamental errors there. don't go replacing pthread locks with
wrappers unless you know full well what u are doing. havnig threads
only work while "threads are initted" and then init/shtudown the thread
thing every time u spawn a thread.. is pretty silly. what if a thread
ends in the background WHILE u have a lock.. u try unlock.. u know
what ? your unlock DOES nothing. so you retain a lock. next time u
want to lock once a thread is around.. u have a deadlock issue.
even better - the checking if threads are initted and up is not
locked, so it can come up while it is being checked. more race
conditions. u need to clokc the init/shutdown AND lock the checking of
the value... and even then u STILl have problem #1 above. so that code
is now gone.
also trylock trturn inverse logic to the original pthread func and the
macros in evas that used it were not changed accordingly! aaagh!
i've also added backtrace debug ability to eina threads if compiled in
- u can get a bt of who last locked something. i had to do this just to
begin to grasp what on earth was going on. it's off by default.
also... the locks are error check locks to trylock can detect
deadlocks. speacil "2" return for now. better than a poke in the eye
with a sharp stick until we decide what to do. for now i hopew i have
killed this thread lock bug.
SVN revision: 59085
Subject: [E-devel] [PATCH] Add ecore_imf_context_autocapital_type_{set, get},
To support the autocapitalization feature, I'd like to add
ecore_imf_context_autocapital_type_{set,get} API.
I will implement the autocapital feature in immodule, so the immodule
should know the autocapitalization type.
This API is for letting immodule know the autocapitalization type.
In addition, ecore_imf_context_prediction_allow_set API is used to set
whether the IM context should allow to use the text prediction.
SVN revision: 59025
This lets you toggle the password mode inside the text. Especially
useful for implementing "show last char" in password entries.
Patch by Shilpaonkar Singh
SVN revision: 59000
Harfbuzz needs unicode querying functions in order to work properly,
until there'll be a nice lib that does that (should be under dev) we have
to depend on an outside source. This commit uses new Harfbuzz API that
lets us not care about the unicode function provider and just let harfbuzz
to manage it on it's own.
SVN revision: 58961
This lets us only relayout what's needed also when inserting formats.
This means inserting <b> </> for example is now as fast as inserting any
other char and doesn't cause a complete relayout.
SVN revision: 58958
Soon I will also do it for all cases, but it's not possible at the
moment because we depend on harfbuzz for querying unicode properties.
SVN revision: 58924
more. making a loader is a matter of a binary of a specific name and
evas passes certain input on the cmd-line and your binary produces
output on stdout (and also optionally additionally in a shm or tmp
file).
SVN revision: 58914
Subject: [E-devel] [Review] [Patch] Evas - OpenGL on Evas: surface
texture creation patch
I'm attaching a patch that addresses the awkward usage case. It's something
that didn't bother me initially but the more I look at it, i think
it's a little off. :-)
The initial version of the evas_gl that I've submitted had the
following use case.
evasgl = evas_gl_new(e);
sfc = evas_gl_surface_create(...);
ctx = evas_gl_context_create(...);
// Make current triggers surface texture and FBO to be created
evas_gl_make_current(evasgl, sfc, ctx);
// Then you can do a surface_get to retrieve the proper texture and set it
evas_gl_native_surface_get(evasgl, sfc, &ns);
evas_object_image_native_surface_set(img_obj, &ns);
The unnatural thing about this use case is that you have to call the make_current
one time in order for evas_gl to generate a surface texture. This is because
you need a context to create a texture. Unfortunately, this makes the usage
case really awkward.
So, instead, I've decided to get rid of the need for calling the make_current
by generating a surface texture when evas_gl_surface_create() is called
by using the evas' gl context. This works because the newly created context
shares resources with evas. in fact, this is what i'm currently doing with surface
deletion anyway so I thought this solution was reasonable.
Here's how it looks after you get rid of the make_current:
evasgl = evas_gl_new(e);
sfc = evas_gl_surface_create(...);
ctx = evas_gl_context_create(...);
evas_gl_native_surface_get(evasgl, sfc, &ns);
evas_object_image_native_surface_set(img_obj, &ns);
The patch is pretty small and straightforward.
SVN revision: 58892
Subject: [E-devel] [PATCH] bug fix : preedit text was commited when
shift key was pressed
ATM, preedit text is commited when shift key is pressed.
This patch file is for solving this bug.
SVN revision: 58887
Subject: [E-devel] [PATCH] bug fix in : "cursor, changed" signal is
not emitted when the content of entry is removed
I found the bug that "cursor,changed" signal is not emitted when the content
of entry is removed.
Let's assume the cursor position is equal to 10.
In this situation, elm_entry_entry_set(en, "") is called.
The content of entry is removed and the cursor position is equal to 0, but
"cursor,changed" signal is not emitted.
This patch is for solving this problem.
In addition, it lets the input method module know the cursor position using
ecore_imf_context_cursor_position_set API
in case that _edje_entry_set_cursor_{start, end} is called.
(Raster: actually it should always emit changed. not check pos at all.
technically pos could be the same BUT cursor moved on screen due to a
reformat). :)
SVN revision: 58886
Patch from Thierry el Borgi with some rework of myself.
NOTE: I don't have much file to test, so if some don't
contact us with those file and we will fix the loader
if needed.
SVN revision: 58873
This fix is just until we finally split to scripts and cache fi all
the time, i.e in all the possible paths (regular, fribidi and harfbuzz).
SVN revision: 58806