diff --git a/plugins/linux-pipewire/pipewire.c b/plugins/linux-pipewire/pipewire.c index ada92cfe700073..3986a127664b2b 100644 --- a/plugins/linux-pipewire/pipewire.c +++ b/plugins/linux-pipewire/pipewire.c @@ -719,6 +719,11 @@ static void on_process_cb(void *user_data) bitmap = SPA_MEMBER(cursor, cursor->bitmap_offset, struct spa_meta_bitmap); + if (bitmap) { + g_clear_pointer(&obs_pw->cursor.texture, + gs_texture_destroy); + } + if (bitmap && bitmap->size.width > 0 && bitmap->size.height > 0 && lookup_format_info_from_spa_format( @@ -732,8 +737,6 @@ static void on_process_cb(void *user_data) obs_pw->cursor.width = bitmap->size.width; obs_pw->cursor.height = bitmap->size.height; - g_clear_pointer(&obs_pw->cursor.texture, - gs_texture_destroy); obs_pw->cursor.texture = gs_texture_create( obs_pw->cursor.width, obs_pw->cursor.height, gs_format, 1, &bitmap_data, GS_DYNAMIC);