Don't segfault clients when cursor isn't found
If we can't find a cursor for whatever reason, don't crash the client in pointer_surface_frame_callback. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
This commit is contained in:
committed by
Kristian Høgsberg
parent
460a79bd4b
commit
a494f1d3f0
+4
-2
@@ -2312,8 +2312,7 @@ pointer_surface_frame_callback(void *data, struct wl_callback *callback,
|
|||||||
uint32_t time)
|
uint32_t time)
|
||||||
{
|
{
|
||||||
struct input *input = data;
|
struct input *input = data;
|
||||||
struct wl_cursor *cursor =
|
struct wl_cursor *cursor;
|
||||||
input->display->cursors[input->current_cursor];
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (callback) {
|
if (callback) {
|
||||||
@@ -2324,6 +2323,9 @@ pointer_surface_frame_callback(void *data, struct wl_callback *callback,
|
|||||||
|
|
||||||
if (input->current_cursor == CURSOR_UNSET)
|
if (input->current_cursor == CURSOR_UNSET)
|
||||||
return;
|
return;
|
||||||
|
cursor = input->display->cursors[input->current_cursor];
|
||||||
|
if (!cursor)
|
||||||
|
return;
|
||||||
|
|
||||||
/* FIXME We don't have the current time on the first call so we set
|
/* FIXME We don't have the current time on the first call so we set
|
||||||
* the animation start to the time of the first frame callback. */
|
* the animation start to the time of the first frame callback. */
|
||||||
|
|||||||
Reference in New Issue
Block a user