summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cvg.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/cvg.c b/cvg.c
index c2d0cd7..1b62d25 100644
--- a/cvg.c
+++ b/cvg.c
@@ -195,7 +195,7 @@ key_event(GtkWidget *widget, GdkEventKey *event, gpointer userdata)
break;
case GDK_KEY_c:
case GDK_KEY_C:
- if (!cvg->idle_source)
+ if (!cvg->idle_source && cvg->capture)
cvg->idle_source = g_idle_add(capture, cvg);
break;
case GDK_KEY_q:
@@ -375,9 +375,10 @@ main(int argc, char *argv[])
cvg.capture = cvCreateCameraCapture(index);
if (!cvg.capture) {
fprintf(stderr, "ERROR: capture is NULL \n");
- exit(EXIT_FAILURE);
+ //exit(EXIT_FAILURE);
}
+ if (cvg.capture) {
#if 1
cvSetCaptureProperty(cvg.capture, CV_CAP_PROP_FRAME_WIDTH, 10000);
cvSetCaptureProperty(cvg.capture, CV_CAP_PROP_FRAME_HEIGHT, 10000);
@@ -386,6 +387,7 @@ main(int argc, char *argv[])
printf("width: %.f, height: %.f\n",
cvGetCaptureProperty(cvg.capture, CV_CAP_PROP_FRAME_WIDTH),
cvGetCaptureProperty(cvg.capture, CV_CAP_PROP_FRAME_HEIGHT));
+ }
builder = gtk_builder_new();
path = g_path_get_dirname(argv[0]);
@@ -410,7 +412,8 @@ main(int argc, char *argv[])
combobox = gtk_builder_get_object(builder, "comboboxtext1");
gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0);
- cvg.idle_source = g_idle_add(capture, &cvg);
+ if (cvg.capture)
+ cvg.idle_source = g_idle_add(capture, &cvg);
cvg.filter = hide_filter;
gtk_widget_show_all(GTK_WIDGET(gtk_builder_get_object(builder, "win")));
g_object_unref(builder);