Skip to content

Commit ab1871b

Browse files
soreautrigg
authored andcommitted
stream-chooser: Do a better job cleaning up toplevels and outputs
1 parent 29a0a5a commit ab1871b

3 files changed

Lines changed: 14 additions & 8 deletions

File tree

src/stream-chooser/outputwidget.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,7 @@ static void session_handle_done(void *data,
8383

8484
static void session_handle_stopped(void*,
8585
struct ext_image_copy_capture_session_v1 *session)
86-
{
87-
ext_image_copy_capture_session_v1_destroy(session);
88-
session = NULL;
89-
}
86+
{}
9087

9188
static const struct ext_image_copy_capture_session_v1_listener recording_session_listener = {
9289
.buffer_size = session_handle_buffer_size,
@@ -297,6 +294,11 @@ WayfireChooserOutput::~WayfireChooserOutput()
297294
ext_image_copy_capture_session_v1_destroy(recording_session);
298295
}
299296

297+
if (buffer->buffer)
298+
{
299+
wl_buffer_destroy(buffer->buffer);
300+
}
301+
300302
if (buffer->bo)
301303
{
302304
gbm_bo_destroy(buffer->bo);

src/stream-chooser/stream-chooser.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ class WayfireStreamChooserApp : public Gtk::Application
7070
WayfireStreamChooserApp();
7171
~WayfireStreamChooserApp()
7272
{
73+
toplevels.clear();
74+
outputs.clear();
7375
if (gbm_device_ptr)
7476
{
7577
gbm_device_destroy(gbm_device_ptr);

src/stream-chooser/toplevelwidget.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,7 @@ static void session_handle_done(void *data,
9494

9595
static void session_handle_stopped(void*,
9696
struct ext_image_copy_capture_session_v1 *session)
97-
{
98-
ext_image_copy_capture_session_v1_destroy(session);
99-
session = NULL;
100-
}
97+
{}
10198

10299
static const struct ext_image_copy_capture_session_v1_listener recording_session_listener = {
103100
.buffer_size = session_handle_buffer_size,
@@ -489,6 +486,11 @@ WayfireChooserTopLevel::~WayfireChooserTopLevel()
489486
ext_image_copy_capture_session_v1_destroy(recording_session);
490487
}
491488

489+
if (buffer->buffer)
490+
{
491+
wl_buffer_destroy(buffer->buffer);
492+
}
493+
492494
if (buffer->bo)
493495
{
494496
gbm_bo_destroy(buffer->bo);

0 commit comments

Comments
 (0)