X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=app%2Fmain.cpp;h=67594bf9f7da5e17e6145185c812ce75aa3a6f78;hb=c6cf852237dc70ab52c8059a5876c0f966be8442;hp=62ea3a03db58e788e81fa842a5ff0211ca10706d;hpb=ff2f57d7dbfeef565346956be23a65e9b59ba9a3;p=apps%2Fcamera-gstreamer.git diff --git a/app/main.cpp b/app/main.cpp index 62ea3a0..67594bf 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -158,7 +158,9 @@ get_next_buffer(struct window *window) * the 'old' one and force creation of the buffer with the newer * dimensions */ if (window->wait_for_configure && window->maximized) { - if (!window->buffers[0].busy && window->buffers[0].buffer) { + /* The 'old' buffer might not exist if maximized is received + * from the start. */ + if (window->buffers[0].buffer && !window->buffers[0].busy) { wl_buffer_destroy(window->buffers[0].buffer); window->buffers[0].buffer = NULL; window->wait_for_configure = false; @@ -677,7 +679,7 @@ int main(int argc, char *argv[]) GstElement *pipeline = gst_parse_launch(pipeline_str, &error); if (error || !pipeline) { fprintf(stderr, "gstreamer pipeline construction failed!\n"); - free(argv); + free(gargv); return EXIT_FAILURE; } @@ -700,7 +702,7 @@ int main(int argc, char *argv[]) window = create_window(display, WINDOW_WIDTH_SIZE, WINDOW_HEIGHT_SIZE, app_id); if (!window) { - free(argv); + free(gargv); return EXIT_FAILURE; } @@ -731,7 +733,7 @@ int main(int argc, char *argv[]) destroy_window(window); destroy_display(display); - free(argv); + free(gargv); gst_element_set_state(pipeline, GST_STATE_NULL); gst_object_unref(pipeline);