diff options
author | Manuel Bachmann <manuel.bachmann@open.eurogiciel.org> | 2014-07-02 12:06:58 +0200 |
---|---|---|
committer | Manuel Bachmann <manuel.bachmann@open.eurogiciel.org> | 2014-07-02 12:06:58 +0200 |
commit | c4c3ea6589cd2aeb9e979d6a8eae5971e40c0e31 (patch) | |
tree | 6319d3a9dcbb92676f1c50b06385e20e3b3d5cdd | |
parent | 75a91546cf32cbaa37256d4214f627dccdb2d50c (diff) | |
download | libwlmessage-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.c | 4 |
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); |