[PATCH] shell: run surface bindings only when focus surface is not NULL

2014-01-05 Thread Rafal Mielniczuk
This fixes the crash when move, rotate or resize binding is activated while exposay effect is active. Steps to reproduce: - activate exposay - try to rotate the surface with mod + right mouse button - crash --- desktop-shell/shell.c | 21 ++--- 1 file changed, 18 insertions(+), 3

Re: glmark2 ported to wayland by RafaƂ Mielniczuk

2013-04-05 Thread Rafal Mielniczuk
On 05.04.2013 06:37, dar...@chaosreigns.com wrote: > An open source GLES2 / GL benchmark. > > It's been accepted upstream: > https://code.launchpad.net/~kruk87/glmark2/glmark2-wayland/+merge/156907 > https://launchpad.net/glmark2 > https://afrantzis.wordpress.com/2011/12/16/glmark2-more-than-a-benc

[PATCH v2] compositor-drm: ensure we run drm-backend using weston-launch

2013-03-27 Thread Rafal Mielniczuk
We do this by checking if launcher_sock != -1 This fixes https://bugs.freedesktop.org/show_bug.cgi?id=60926 --- src/compositor-drm.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/src/compositor-drm.c b/src/compositor-drm.c index fa21495..3d200dd 100644 --- a/src/compositor-drm.c +++

[PATCH] compositor: block running drm backend using weston binary

2013-03-27 Thread Rafal Mielniczuk
While running weston with drm-backend, we check if its parent executable name was weston-launch. In case it wasn't, we print error message and quit. This fixes https://bugs.freedesktop.org/show_bug.cgi?id=60926 --- src/compositor.c | 16 1 file changed, 16 insertions(+) diff --g

[PATCH 4/4] window: restore maximized state from fullscreen mode if necessary

2013-03-11 Thread Rafal Mielniczuk
This patch sets back maximized mode, if that was its state before going fullscreen. --- clients/window.c | 20 +++- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/clients/window.c b/clients/window.c index 3e8225f..e3e8eb5 100644 --- a/clients/window.c +++ b/clients/

[PATCH 3/4] window: save allocation only for toplevel window

2013-03-11 Thread Rafal Mielniczuk
Thanks to that we will not overwrite saved allocation, when going fullscreen from maximized state --- clients/window.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/clients/window.c b/clients/window.c index 249ba6f..3e8225f 100644 --- a/clients/window.c +++ b/clients/windo

[PATCH 2/4] shell: reset rotation for maximized surface

2013-03-11 Thread Rafal Mielniczuk
Surface will preserve its rotation transformation when maximizing, which will cause incosistiencies (eg. no window shadows drawn) This patch removes rotation from maximized surface and restore it when unmaximizing (just like in fullscreen mode) --- src/shell.c | 31 ++-

[PATCH 1/4] shell: block move, rotate, resize in maximized state

2013-03-11 Thread Rafal Mielniczuk
To remain consisten with client side window, which blocks moving and resizing of window in maximized state, we should do so on the compositor side as well. (until there is some unmaximize notification from server, which will allow window to start drawing shadows and revert itself to toplevel state

[PATCH 0/4] improve window maximize handling

2013-03-11 Thread Rafal Mielniczuk
good learning exercise :) Regards. Rafal Mielniczuk (4): shell: block move, rotate, resize in maximized state shell: reset rotation for maximized surface window: save allocation only for toplevel window window: restore maximized state from fullscreen mode if necessary clients/window.c

[PATCH] compositor-x11: resize output to x11 window size in fullscreen mode

2013-02-12 Thread Rafal Mielniczuk
In fullscreen mode we need to adjust output dimensions to match x11 window size. In other case, if there is no output section in weston.ini, weston output will have default 1024x640 size, while rest of the screen remains black and unusable. This should fix https://bugs.freedesktop.org/show_bug.cgi

[PATCH] shell: restore correct layer in shell_unset_fullscreen

2012-10-07 Thread Rafal Mielniczuk
This fixes the bug where surface is above panel_layer just after it is restored from fullscreen mode. How to reproduce: * move surface under panel * set surface fullscreen * restore surface to normal mode --- src/shell.c | 5 + 1 file changed, 5 insertions(+) diff --git a/src/shell.c b/src/s

[PATCH 2/2] image-loader: don't leak pixman_image bits data

2012-07-11 Thread Rafal Mielniczuk
Set the pixman_image destroy function to free bits data --- shared/image-loader.c | 24 +--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/shared/image-loader.c b/shared/image-loader.c index b47c1a7..6a5c85c 100644 --- a/shared/image-loader.c +++ b/shared/image

[PATCH 1/2] clipboard: add seat destroy signal handler

2012-07-11 Thread Rafal Mielniczuk
--- src/clipboard.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/src/clipboard.c b/src/clipboard.c index 22d4b26..689e563 100644 --- a/src/clipboard.c +++ b/src/clipboard.c @@ -243,6 +243,17 @@ clipboard_set_selection(struct wl_listener *listener, void *data)

[PATCH] clipboard: initialise clipboard memory after creation

2012-06-30 Thread Rafal Mielniczuk
In case we don't, weston segfault in clipboard_set_selection on: if (clipboard->source) clipboard_source_unref(clipboard->source); --- src/clipboard.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/clipboard.c b/src/clipboard.c index 92c8a83..22d4b26 100644 --- a/src/clipb

[PATCH] desktop-shell: move panel_add_clock call to panel_create function

2012-06-09 Thread Rafal Mielniczuk
Putting panel_add_clock in launcher_section_done handler will cause clock to be created multiple times with every launcher. Fix is to move the call to panel_create function. --- clients/desktop-shell.c |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/clients/desktop-shell.c

[PATCH] compositor: change position of weston_log_file_open call

2012-06-09 Thread Rafal Mielniczuk
In case XDG_RUNTIME_DIR was not set, weston_log will crash the compositor instead of spitting error msg, as weston log was not yet opened --- src/compositor.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compositor.c b/src/compositor.c index 700f31b..0230de8 10064

[PATCH] tty: fix initialisation failure cleanup

2012-05-20 Thread Rafal Mielniczuk
This patch sets mode back to VT_AUTO and restores original terminal in error handling routines --- src/tty.c |5 + 1 file changed, 5 insertions(+) diff --git a/src/tty.c b/src/tty.c index 78d5ba5..72d271a 100644 --- a/src/tty.c +++ b/src/tty.c @@ -237,6 +237,7 @@ tty_create(struct weston_

[PATCH] window: fix check of cursor image load result

2012-05-08 Thread Rafal Mielniczuk
--- clients/window.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clients/window.c b/clients/window.c index b47e969..695fc89 100644 --- a/clients/window.c +++ b/clients/window.c @@ -665,7 +665,7 @@ create_cursors(struct display *display) for (i = 0; i < coun

[PATCH] shell: fix matrix invertible bug in rotation handler

2012-03-22 Thread Rafal Mielniczuk
While activating and deactivating rotation mechanism without moving the pointer, rotation matrix from rotate_grab object is not being initialised and damage shell surface rotation matrix in rotate_grab_button handler, making it invertible. This patch initialise rotate matrix in rotate_binding and

[PATCH] shell: correct position of a surface before rotating it.

2012-03-21 Thread Rafal Mielniczuk
How to reproduce: rotate the surface to something like 45 degrees, resize it drastically, continue to rotate. The surface will jump some space and the rotation point will not be in the center of the surface. Fix is to shift the surface position to match the rotation point --- src/shell.c | 16 +