When glClear is called in direct rendering move (DR), we usually
have to skip the call altogether because clearing out transparency
would erase the pixels in the evas backbuffer. This means Evas
would not be able to blend an RGBA GLView on top of other objects.
But COPY mode should allow Evas GL to poke holes in a window
backbuffer.
Thanks @spacegrapher for the review :)
NOTE: Elm GLView also needs to pass the render op to its Evas.Image.
@fix
evas_gl_native_context_get is an internal function
passed around from an evas engine to evas_gl so that we can
implement evasglCreateImageForContext without exposing
any evas engine internal structure to evas_gl.
It's all a ittle bit ugly but the previous solution with
dlsym(DEFAULT) didn't work.
Failing to load a module that does not exist is indeed not an error,
but failing to load a module that exists on disk happened probably
because of an error like "symbol not found".
Considering eina_module is most likely used by EFL itself, I believe
an internal linking failure is a warning worth reporting.
If the TLS variable was not initialized, Evas GL can't get a pointer
to a valid EGLDisplay which is required by eglImageDestroy.
So, we keep track of the dpy used at creation time and use that
if we're in another thread.
Summary:
Apart from evas_canvas3d_node_look_at_set() all other things are referenced.
Tried to reference it to @Evas.Canvas3D.Node.look_at_set(). But getting error.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric, tasn, q66
Reviewed By: q66
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2822
This reverts commit 5beb47aa4d.
Revert "image_savers/jpeg: fix undefined behavior of using sigsetjmp on jmp_buf"
This reverts commit 84c7751e19.
these end up with efl simply not compiling. efl tree does not build at
all now and this warrants a revert.
lib/evas/.libs/libevas.so: undefined reference to sigjmp'
collect2: error: ld returned 1 exit status
Makefile:19321: recipe for target 'bin/evas/evas_cserve2' failed
.. etc.
Replacing decimal point in buffer resulted in invalidation of the original
string pointer. On Linux, this issue was for some reason not caught, but
it was wrong anyway. Use the updated string correctly now.
@fix
This is a complex situation:
- Smart object A contains image I
- A is proxied into an image B
- B is marked as source_invisible, which means A is invisible
- Mask M is applied to image I
- Mask M is ALSO a smart child of A
Because of all that, mask M could not be rendered into its private
mask surface, as it was falling under the case of "parent_src_invisible".
This patch checks that the object is not a mask during the
parent_src_invisible check.
@fix
The return value is used for divisor in many case.
If it return 0.0 when it fail, it can break app with div by zero.
@fix
Signed-Off-By: YoungBok Shin(id213sin) (youngb.shin@samsung.com)
Summary: If we end up cancelling the keyboard repeat timer due to no
focused surface, we should also reset the input repeat values.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: During the keyboard repeat function, if we have no keyboard
focused window to send the key to, then we should cancel the repeat
timer.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: As we delete any keyboard repeat timers when we get a
keyboard leave event, we should also reset any stored values there
(key, sym, time, etc).
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: If we get pointer or keyboard leave events, then reset the
Ecore_Wl_Input's idea of focus (eg: set input->pointer_focus and
input->keyboard_focus fields to NULL) just in case we cannot find a
window for this surface.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This fixes a scenario in which paragraphs in the current layout still
store visual lines from the previous layout. This is possible if the
text uses an ellipsis format, allowing the layout work to stop at a
certain paragraph. This inconsistency affects some query functions that
consider lines which may be irrelevant in the current layout.
Test Case: see added test case to evas_suite.
@fix
i was runing perf top and noticed that evas_image_load_file_data_eet(0
was being called. in fact - it was #1 on the list of functions being
called. why? it didn't make sense. i found out. just a blinking cursor
in terminology was causing the background to be unloaded and
re-loaded. the new "actually unload" changes for 1.15 made this happen
and thus we kept sucking in new data all the time even if the
scalecache already had the data - and that was the problem.
so now calcecache prepare tells you if you don't have cached data and
if you likely then have to ensure the data is loaded. this cuts down
quite a bit of work.
while i'm at it... we definitely need to clean house on the internals
of evas. a decade+ of features, mess, optimizations needs to be fixed.
i mean really house-cleaned. rewritten clenl;y re-using existing code
where appropriate.