Summary:
As we do not set the ob->info->info.win variable anymore inside
Ecore_Evas (old code that was removed), we can omment out the line.
This line was causing unnecessary renewal of the engine window (thus
causing flickering when rotation was applied).
@fix
Test Plan: Rotate or Resize the window on wayland-egl.
Reviewers: gwanglim, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3407
Due to reference caching, we cannot free the display structure here
yet. During calls to ecore_wl2_display_destroy (or others), if the
number of references reaches zero, then we end up calling
wl_display_destroy (or equivelant). If we free our display structure
during cleanup function, then calls to wl_display_destroy will cause a
segfault as our display->wayland_display has already been freed from
the structure
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
The test cases which I took from wikipedia didn't have the characters
'/' and '+' in the encoded string. So added test case testing these.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3405
As @zmike mentionned in T2396 there is an extension string
declaring full support for GLES 3 when using OpenGL.
Note: I can't really test myself since I have recent drivers.
Hopefully this is correct.
Fixes T2396
This fixes a potential issue where we may have been sending the
configure acknowledgement before applying the actual new configuration
to the surface. Sending the ack_configure during post-render ensures
that we have already rendered according to the new configure
(addresses deferred rendering issue).
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
We need a way to store the configure serial, and make the
xdg_surface_ack_configure callback be callable by Ecore_Evas at the
appropriate time. This fixes an issue where previously we were
(potentially) sending a configure acknowledgment while not applying
the configure due to deferred rendering.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
If we fail to connect to an existing wayland display, then we should
properly cleanup (call ecore_wl2_shutdown) before exiting
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Summary:
Evas textblock could cause infinite loop if there is no fonts to use.
If there is no fonts, text_props.text_len is never set.
When text_props.text_len is 0, the for loop in _layout_par runs forever.
It is ridiculous to use Textblock without fonts. But, it shouldn't runs
infinite loop in any situation.
@fix
Test Plan:
1. Remove all of fonts in your EFL or Tizen device.
(Or you can test it modifying some codes in Textblock by skipping load fonts.)
2. Run elementary_test -to entry3 or see any multiline textblocks.
Reviewers: tasn, herdsman, woohyun
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3402
This operation was faked by running a mul and a blend ops. Now
they are combined into one. A GL shader should also be able
to do this in a single pass.
To get the proper maximized and fullscreen states, we should be using
the ecore_wl2_window functions, not the ecore_wl_window functions
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
During my merge of the ecore_wl2 branch, somehow a duplicated
cocoa_window_get function got added. Remove it.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This is a merge of branch 'devs/devilhorns/ecore_wl2' that improves on
the existing ecore_wayland module. Improvements include support for
mulitple wayland displays (nested compositor scenario), Improved time
to first frame, reduced input latency, and better support for xdg window
geometry.
@feature
if a state change occurs on the ee, related callbacks must be run prior to
performing any resizes in order to ensure that the correct csd sizes are
calculated
@fix
ref T2841
Summary: When an initial client application was shown and we tried to
resize it, the resize would jump by the amount of framespace. This was
because the xdg_surface@configure event would be sending window
geometry as the width/height params in the event. We need to account
for that in the callback of window configure and adjust size
accordingly.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
- Ecore_Cocoa_Cursor enum which references system cursors;
- API to show/hide cursor: ecore_cocoa_window_cursor_show();
- API to set system cursor: ecore_cocoa_window_cursor_set();
- Ecore_Evas interface to get Ecore_Cocoa_Window from Ecore_Evas.
@feature
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This fixes an issue where maximizing a window would set improper xdg
surface window geometry. We receive window configure sizes based on
xdg surface window geometry, so we need to subtract framespace there
or else window size grows when maximizing/unmaximizing multiple times.
This also adjusts the call to xdg_surface_set_window_geometry to
account for framespace (Fixes T2842).
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
by using the geometry from after the request size has been updated,
scenarios such as the following can be avoided:
[4208305.332] xdg_surface@46.set_window_geometry(0, 0, 1778, 1)
[4208305.370] xdg_surface@46.set_window_geometry(0, 0, 1778, 250)
@fix
if a state change occurs on the ee, related callbacks must be run prior to
performing any resizes in order to ensure that the correct csd sizes are
calculated
@fix
ref T2841
This fixes an issue where maximizing a window would set improper xdg
surface window geometry. We receive window configure sizes based on
xdg surface window geometry, so we need to subtract framespace there
or else window size grows when maximizing/unmaximizing multiple times.
This also adjusts the call to xdg_surface_set_window_geometry to
account for framespace (Fixes T2842).
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
by using the geometry from after the request size has been updated,
scenarios such as the following can be avoided:
[4208305.332] xdg_surface@46.set_window_geometry(0, 0, 1778, 1)
[4208305.370] xdg_surface@46.set_window_geometry(0, 0, 1778, 250)
@fix
Seems EINA_LOG_DOM has a problem printing out wayland protocol logs,
so allow wayland to handle that itself.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Rather than rely on window->type for maximized & fullscreen, use the
cooresponding window flag
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>