[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

weston: Changes to 'upstream-unstable'



 clients/editor.c     |    5 +++++
 clients/keyboard.c   |    5 +++++
 clients/window.c     |   12 ++++++++++++
 configure.ac         |    4 ++--
 src/compositor-x11.c |    2 +-
 5 files changed, 25 insertions(+), 3 deletions(-)

New commits:
commit 53fd7d70dc34007f0dc86621ed94c6f71fa35bf9
Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Date:   Fri Sep 19 13:40:14 2014 +0300

    configure.ac: bump version to 1.6.0
    
    Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>

diff --git a/configure.ac b/configure.ac
index 4a889af..05e883d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 m4_define([weston_major_version], [1])
-m4_define([weston_minor_version], [5])
-m4_define([weston_micro_version], [93])
+m4_define([weston_minor_version], [6])
+m4_define([weston_micro_version], [0])
 m4_define([weston_version],
           [weston_major_version.weston_minor_version.weston_micro_version])
 

commit 01448094768882a542ca4f3d3f32a66b8704bcc4
Author: Olivier Blin <olivier.blin@softathome.com>
Date:   Tue Sep 16 19:13:17 2014 +0200

    editor: do not crash when text input manager is not available
    
    [Pekka Paalanen: whitespace fix]
    
    Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>

diff --git a/clients/editor.c b/clients/editor.c
index 66cba0b..421f8fe 100644
--- a/clients/editor.c
+++ b/clients/editor.c
@@ -1359,6 +1359,11 @@ main(int argc, char *argv[])
 	display_set_user_data(editor.display, &editor);
 	display_set_global_handler(editor.display, global_handler);
 
+	if (editor.text_input_manager == NULL) {
+		fprintf(stderr, "No text input manager global\n");
+		return -1;
+	}
+
 	editor.window = window_create(editor.display);
 	editor.widget = window_frame_create(editor.window, &editor);
 

commit 997232d068fdbd48f9de55ca7cc6e422ee6404b0
Author: Olivier Blin <olivier.blin@softathome.com>
Date:   Tue Sep 16 19:13:16 2014 +0200

    keyboard: do not crash when input panel is not available
    
    [Pekka Paalanen: whitespace fix]
    
    Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>

diff --git a/clients/keyboard.c b/clients/keyboard.c
index 7c11cec..2579571 100644
--- a/clients/keyboard.c
+++ b/clients/keyboard.c
@@ -995,6 +995,11 @@ main(int argc, char *argv[])
 	display_set_user_data(virtual_keyboard.display, &virtual_keyboard);
 	display_set_global_handler(virtual_keyboard.display, global_handler);
 
+	if (virtual_keyboard.input_panel == NULL) {
+		fprintf(stderr, "No input panel global\n");
+		return -1;
+	}
+
 	output = display_get_output(virtual_keyboard.display);
 	keyboard_create(output, &virtual_keyboard);
 

commit 495339f7363b3aac040395419419c5dedb690b7b
Author: Jason Ekstrand <jason.ekstrand@intel.com>
Date:   Mon Sep 15 12:10:27 2014 -0700

    compositor-x11: Rename the output make to "weston-X11"
    
    Previously all outputs in the X11 backend had the make "xwayland" which is
    confusing.  Now they have something that makes a little more sense.

diff --git a/src/compositor-x11.c b/src/compositor-x11.c
index 3494e34..b602bc9 100644
--- a/src/compositor-x11.c
+++ b/src/compositor-x11.c
@@ -869,7 +869,7 @@ x11_compositor_create_output(struct x11_compositor *c, int x, int y,
 	output->base.set_dpms = NULL;
 	output->base.switch_mode = NULL;
 	output->base.current_mode = &output->mode;
-	output->base.make = "xwayland";
+	output->base.make = "weston-X11";
 	output->base.model = "none";
 
 	if (configured_name)

commit a253fca28727101239cc2ea558864f686128b116
Author: Ondřej Majerech <majerech.o@gmail.com>
Date:   Sat Sep 13 16:35:45 2014 +0200

    window: Don't needlessly sync parent and geometry
    
    When a toytoolkit client redraws, the toolkit syncs the parent and
    geometry. If a client redraws often (such as the terminal drawing a huge
    amount of output), this can spam the compositor with requests and may
    result in the client's eventual being killed.
    
    We don't need to send requests for changing the geometry or parent if
    these haven't changed. So remember the last geometry and parent, and
    update them only if needed.
    
    Bug: https://bugs.freedesktop.org/show_bug.cgi?id=83297
    Signed-off-by: Ondřej Majerech <majerech.o@gmail.com>
    Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>

diff --git a/clients/window.c b/clients/window.c
index 9c48155..e44d65c 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -217,6 +217,7 @@ struct window {
 	struct rectangle saved_allocation;
 	struct rectangle min_allocation;
 	struct rectangle pending_allocation;
+	struct rectangle last_geometry;
 	int x, y;
 	int redraw_needed;
 	int redraw_task_scheduled;
@@ -246,6 +247,7 @@ struct window {
 	struct xdg_popup *xdg_popup;
 
 	struct window *parent;
+	struct wl_surface *last_parent_surface;
 
 	struct window_frame *frame;
 
@@ -3993,7 +3995,11 @@ window_sync_parent(struct window *window)
 	else
 		parent_surface = NULL;
 
+	if (parent_surface == window->last_parent_surface)
+		return;
+
 	xdg_surface_set_parent(window->xdg_surface, parent_surface);
+	window->last_parent_surface = parent_surface;
 }
 
 static void
@@ -4018,12 +4024,18 @@ window_sync_geometry(struct window *window)
 		return;
 
 	window_get_geometry(window, &geometry);
+	if (geometry.x == window->last_geometry.x &&
+	    geometry.y == window->last_geometry.y &&
+	    geometry.width == window->last_geometry.width &&
+	    geometry.height == window->last_geometry.height)
+		return;
 
 	xdg_surface_set_window_geometry(window->xdg_surface,
 					geometry.x,
 					geometry.y,
 					geometry.width,
 					geometry.height);
+	window->last_geometry = geometry;
 }
 
 static void


Reply to: