summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Bachmann <manuel.bachmann@open.eurogiciel.org>2014-07-02 12:06:58 +0200
committerManuel Bachmann <manuel.bachmann@open.eurogiciel.org>2014-07-02 12:06:58 +0200
commitc4c3ea6589cd2aeb9e979d6a8eae5971e40c0e31 (patch)
tree6319d3a9dcbb92676f1c50b06385e20e3b3d5cdd
parent75a91546cf32cbaa37256d4214f627dccdb2d50c (diff)
downloadlibwlmessage-c4c3ea6589cd2aeb9e979d6a8eae5971e40c0e31.tar.gz
libwlmessage-c4c3ea6589cd2aeb9e979d6a8eae5971e40c0e31.tar.bz2
libwlmessage-c4c3ea6589cd2aeb9e979d6a8eae5971e40c0e31.zip
Workaround: do not iterate through input devices when destroying
TEMPORARY FIX ! In some cases, when destroying a widget or a window, toytoolkit tries to get the input device which is "focused" to this widget or window ; but it may try if the input device list is empty or incorrectly filled. *TODO* proper check Change-Id: Ibf100bde3842b5e8dd8e10cbaeb81f0a12545374 Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
-rw-r--r--toytoolkit/window.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/toytoolkit/window.c b/toytoolkit/window.c
index dc2ff3b..35b1ef8 100644
--- a/toytoolkit/window.c
+++ b/toytoolkit/window.c
@@ -1482,6 +1482,7 @@ window_destroy(struct window *window)
wl_list_remove(&window->redraw_task.link);
+/*
wl_list_for_each(input, &display->input_list, link) {
if (input->touch_focus == window)
input->touch_focus = NULL;
@@ -1493,6 +1494,7 @@ window_destroy(struct window *window)
input->focus_widget->window == window)
input->focus_widget = NULL;
}
+*/
wl_list_for_each_safe(window_output, window_output_tmp,
&window->window_output_list, link) {
@@ -1608,10 +1610,12 @@ widget_destroy(struct widget *widget)
if (widget->tooltip)
widget_destroy_tooltip(widget);
+/*
wl_list_for_each(input, &display->input_list, link) {
if (input->focus_widget == widget)
input->focus_widget = NULL;
}
+*/
wl_list_remove(&widget->link);
free(widget);