diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2000-10-08 22:17:11 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2000-10-08 22:17:11 +0000 |
commit | 695f761c2ba7430f9abc626b8a284c940b11c03c (patch) | |
tree | e8d0c8f8eef7e67d6b995714b558ba592691fe20 /editor | |
parent | fe8a1c5a988d8e1ae33e3ccee8fb1abc4a26fbe6 (diff) |
Fixed a bug in the typeloading.
Original commit message from CVS:
Fixed a bug in the typeloading.
Fixes to various elements so that correct types are returned.
Fixed flag collision with GtkObject.
Elements can now suggest a thread. not sure if this is the right way to
handle automatic thread creation.
Autoplugging now works with multiple sinks and thread setup. No threads
are created for intermediate elements yet, so MPEG may still be choppy.
Diffstat (limited to 'editor')
-rw-r--r-- | editor/editor.glade | 4 | ||||
-rw-r--r-- | editor/gsteditor.h | 7 | ||||
-rw-r--r-- | editor/gsteditorbin.c | 19 | ||||
-rw-r--r-- | editor/gsteditorcanvas.c | 21 | ||||
-rw-r--r-- | editor/gsteditorconnection.c | 30 | ||||
-rw-r--r-- | editor/gsteditorconnection.h | 5 | ||||
-rw-r--r-- | editor/gsteditorcreate.c | 1 | ||||
-rw-r--r-- | editor/gsteditorpad.c | 20 | ||||
-rw-r--r-- | editor/gsteditorproperty.c | 113 | ||||
-rw-r--r-- | editor/gstelementselect.c | 3 |
10 files changed, 158 insertions, 65 deletions
diff --git a/editor/editor.glade b/editor/editor.glade index d0afe2a52..ae4242538 100644 --- a/editor/editor.glade +++ b/editor/editor.glade @@ -597,7 +597,7 @@ <class>GtkVBox</class> <name>vbox3</name> <homogeneous>False</homogeneous> - <spacing>0</spacing> + <spacing>2</spacing> <widget> <class>GtkScrolledWindow</class> @@ -696,7 +696,7 @@ <rows>5</rows> <columns>2</columns> <homogeneous>False</homogeneous> - <row_spacing>0</row_spacing> + <row_spacing>2</row_spacing> <column_spacing>0</column_spacing> <child> <padding>0</padding> diff --git a/editor/gsteditor.h b/editor/gsteditor.h index d10cabcf9..bf295c59e 100644 --- a/editor/gsteditor.h +++ b/editor/gsteditor.h @@ -209,7 +209,9 @@ struct _GstEditorBinClass { GtkType gst_editor_bin_get_type(); GstEditorBin *gst_editor_bin_new(GstEditorBin *parent,GstBin *bin, const gchar *first_arg_name,...); - +void gst_editor_bin_connection_drag(GstEditorBin *bin, + gdouble wx,gdouble wy); +void gst_editor_bin_start_banding(GstEditorBin *bin,GstEditorPad *pad); #define GST_TYPE_EDITOR_CANVAS \ @@ -354,6 +356,9 @@ struct _GstEditorConnectionClass { }; GtkType gst_editor_connection_get_type(); +GstEditorConnection *gst_editor_connection_new(GstEditorBin *parent, + GstEditorPad *frompad); + void gst_editor_connection_resize(GstEditorConnection *connection); void gst_editor_connection_set_endpoint(GstEditorConnection *connection, gdouble x,gdouble y); diff --git a/editor/gsteditorbin.c b/editor/gsteditorbin.c index 44ebeab87..b2226728f 100644 --- a/editor/gsteditorbin.c +++ b/editor/gsteditorbin.c @@ -22,6 +22,7 @@ #include <gst/gst.h> #include "gsteditor.h" +#include "gsteditorcreate.h" /* signals and args */ enum { @@ -34,8 +35,8 @@ enum { static void gst_editor_bin_class_init(GstEditorBinClass *klass); static void gst_editor_bin_init(GstEditorBin *bin); -static void gst_editor_bin_set_arg(GtkObject *object,GtkArg *arg,guint id); -static void gst_editor_bin_get_arg(GtkObject *object,GtkArg *arg,guint id); +//static void gst_editor_bin_set_arg(GtkObject *object,GtkArg *arg,guint id); +//static void gst_editor_bin_get_arg(GtkObject *object,GtkArg *arg,guint id); static gint gst_editor_bin_event(GnomeCanvasItem *item, GdkEvent *event, @@ -43,6 +44,8 @@ static gint gst_editor_bin_event(GnomeCanvasItem *item, static gint gst_editor_bin_button_event(GnomeCanvasItem *item, GdkEvent *event, GstEditorElement *element); +void gst_editor_bin_connection_drag(GstEditorBin *bin, + gdouble wx,gdouble wy); static GstEditorElementClass *parent_class = NULL; @@ -88,10 +91,10 @@ GstEditorBin *gst_editor_bin_new(GstEditorBin *parent,GstBin *bin, GstEditorBin *editorbin; va_list args; - g_return_if_fail(parent != NULL); - g_return_if_fail(GST_IS_EDITOR_BIN(parent)); - g_return_if_fail(bin != NULL); - g_return_if_fail(GST_IS_BIN(bin)); + g_return_val_if_fail(parent != NULL, NULL); + g_return_val_if_fail(GST_IS_EDITOR_BIN(parent), NULL); + g_return_val_if_fail(bin != NULL, NULL); + g_return_val_if_fail(GST_IS_BIN(bin), NULL); editorbin = GST_EDITOR_BIN(gtk_type_new(GST_TYPE_EDITOR_BIN)); GST_EDITOR_ELEMENT(editorbin)->element = GST_ELEMENT(bin); @@ -150,6 +153,8 @@ static gint gst_editor_bin_event(GnomeCanvasItem *item, if (GST_EDITOR_ELEMENT_CLASS(parent_class)->event) return (*GST_EDITOR_ELEMENT_CLASS(parent_class)->event)(item,event,element); + + return TRUE; } @@ -202,7 +207,7 @@ void gst_editor_bin_connection_drag(GstEditorBin *bin, element = GST_EDITOR_ELEMENT(bin); bx = wx;by = wy; - gnome_canvas_item_w2i(GST_EDITOR_ELEMENT(bin)->group,&bx,&by); + gnome_canvas_item_w2i(GNOME_CANVAS_ITEM(GST_EDITOR_ELEMENT(bin)->group),&bx,&by); // first see if we're on top of an interesting pad underitem = gnome_canvas_get_item_at( diff --git a/editor/gsteditorcanvas.c b/editor/gsteditorcanvas.c index ec93b5ff4..897053e29 100644 --- a/editor/gsteditorcanvas.c +++ b/editor/gsteditorcanvas.c @@ -22,6 +22,7 @@ #include <gst/gst.h> #include "gsteditor.h" +#include "gsteditorcreate.h" /* signals and args */ enum { @@ -46,6 +47,9 @@ static gint gst_editor_canvas_button_release(GtkWidget *widget, static gint gst_editor_canvas_event(GnomeCanvasItem *item, GdkEvent *event, GstEditorElement *element); +static void gst_editor_canvas_set_arg(GtkObject *object,GtkArg *arg,guint id); +static void gst_editor_canvas_get_arg(GtkObject *object,GtkArg *arg,guint id); + //gint gst_editor_canvas_verbose_event(GtkWidget *widget,GdkEvent *event); @@ -72,8 +76,11 @@ GtkType gst_editor_canvas_get_type(void) { } static void gst_editor_canvas_class_init(GstEditorCanvasClass *klass) { + GtkObjectClass *object_class; GstEditorElementClass *element_class; + object_class = (GtkObjectClass*)klass; + element_class = (GstEditorElementClass*)klass; parent_class = gtk_type_class(gst_editor_bin_get_type()); @@ -81,6 +88,9 @@ static void gst_editor_canvas_class_init(GstEditorCanvasClass *klass) { gtk_object_add_arg_type("GstEditorCanvas::canvas",GTK_TYPE_POINTER, GTK_ARG_READABLE,ARG_CANVAS); + object_class->set_arg = gst_editor_canvas_set_arg; + object_class->get_arg = gst_editor_canvas_get_arg; + element_class->realize = gst_editor_canvas_realize; } @@ -90,15 +100,14 @@ static void gst_editor_canvas_init(GstEditorCanvas *editorcanvas) { GstEditorCanvas *gst_editor_canvas_new(GstBin *bin, const gchar *first_arg_name,...) { GstEditorCanvas *editorcanvas; - GstEditorBin *bin2; va_list args; - g_return_if_fail(bin != NULL); - g_return_if_fail(GST_IS_BIN(bin)); + g_return_val_if_fail(bin != NULL, NULL); + g_return_val_if_fail(GST_IS_BIN(bin), NULL); editorcanvas = GST_EDITOR_CANVAS(gtk_type_new(GST_TYPE_EDITOR_CANVAS)); GST_EDITOR_ELEMENT(editorcanvas)->element = GST_ELEMENT(bin); - GST_EDITOR_ELEMENT(editorcanvas)->parent = editorcanvas; + GST_EDITOR_ELEMENT(editorcanvas)->parent = GST_EDITOR_BIN(editorcanvas); va_start(args,first_arg_name); gst_editor_element_construct(GST_EDITOR_ELEMENT(editorcanvas),NULL, @@ -165,7 +174,7 @@ GtkWidget *gst_editor_canvas_get_canvas(GstEditorCanvas *canvas) { static gint gst_editor_canvas_button_release(GtkWidget *widget, GdkEvent *event, GstEditorCanvas *canvas) { - GstEditorBin *bin = GST_EDITOR_BIN(canvas); + //GstEditorBin *bin = GST_EDITOR_BIN(canvas); gdouble x,y; GstEditorElement *element; @@ -188,7 +197,7 @@ static gint gst_editor_canvas_button_release(GtkWidget *widget, gnome_canvas_window_to_world(GNOME_CANVAS(widget), event->button.x,event->button.y,&x,&y); // g_print("calling gst_editor_create_item()\n"); - if (element = gst_editor_create_item(GST_EDITOR_BIN(canvas),x,y)) + if ((element = gst_editor_create_item(GST_EDITOR_BIN(canvas),x,y)) != NULL) return TRUE; return FALSE; } diff --git a/editor/gsteditorconnection.c b/editor/gsteditorconnection.c index dbe4147dc..95c8699eb 100644 --- a/editor/gsteditorconnection.c +++ b/editor/gsteditorconnection.c @@ -14,9 +14,9 @@ static void gst_editor_connection_destroy(GtkObject *object); static void gst_editor_connection_realize(GstEditorConnection *connection); /* events fired by items within self */ -static gint gst_editor_connection_line_event(GnomeCanvasItem *item, - GdkEvent *event, - GstEditorConnection *connection); +//static gint gst_editor_connection_line_event(GnomeCanvasItem *item, +// GdkEvent *event, +// GstEditorConnection *connection); /* utility functions */ @@ -35,7 +35,7 @@ enum { }; static GtkObjectClass *parent_class; -static guint gst_editor_connection_signals[LAST_SIGNAL] = { 0 }; +//static guint gst_editor_connection_signals[LAST_SIGNAL] = { 0 }; GtkType gst_editor_connection_get_type() { static GtkType connection_type = 0; @@ -89,16 +89,16 @@ GstEditorConnection *gst_editor_connection_new(GstEditorBin *parent, GstEditorPad *frompad) { GstEditorConnection *connection; - g_return_if_fail(parent != NULL); - g_return_if_fail(GST_IS_EDITOR_BIN(parent)); - g_return_if_fail(frompad != NULL); - g_return_if_fail(GST_IS_EDITOR_PAD(frompad)); + g_return_val_if_fail(parent != NULL, NULL); + g_return_val_if_fail(GST_IS_EDITOR_BIN(parent), NULL); + g_return_val_if_fail(frompad != NULL, NULL); + g_return_val_if_fail(GST_IS_EDITOR_PAD(frompad), NULL); connection = GST_EDITOR_CONNECTION(gtk_type_new(GST_TYPE_EDITOR_CONNECTION)); connection->frompad = frompad; connection->frompad->connection = connection; connection->fromsrc = connection->frompad->issrc; - connection->parent = parent; + connection->parent = GST_EDITOR_ELEMENT(parent); gst_editor_connection_realize(connection); @@ -212,8 +212,8 @@ void gst_editor_connection_resize(GstEditorConnection *connection) { x2,y2: item coords relative to the bin's group This means translating the x1,y1 coords into world, then into bin. */ - gnome_canvas_item_i2w(connection->frompad->parent->group,&x1,&y1); - gnome_canvas_item_w2i(GST_EDITOR_ELEMENT_GROUP(connection->parent), + gnome_canvas_item_i2w(GNOME_CANVAS_ITEM(connection->frompad->parent->group),&x1,&y1); + gnome_canvas_item_w2i(GNOME_CANVAS_ITEM(GST_EDITOR_ELEMENT_GROUP(connection->parent)), &x1,&y1); } else { if (connection->fromsrc) { @@ -225,11 +225,11 @@ void gst_editor_connection_resize(GstEditorConnection *connection) { } y1 = connection->frompad->y + (connection->frompad->height / 2); y2 = connection->topad->y + (connection->topad->height / 2); - gnome_canvas_item_i2w(connection->frompad->parent->group,&x1,&y1); - gnome_canvas_item_w2i(GST_EDITOR_ELEMENT_GROUP(connection->parent), + gnome_canvas_item_i2w(GNOME_CANVAS_ITEM(connection->frompad->parent->group),&x1,&y1); + gnome_canvas_item_w2i(GNOME_CANVAS_ITEM(GST_EDITOR_ELEMENT_GROUP(connection->parent)), &x1,&y1); - gnome_canvas_item_i2w(connection->topad->parent->group,&x2,&y2); - gnome_canvas_item_w2i(GST_EDITOR_ELEMENT_GROUP(connection->parent), + gnome_canvas_item_i2w(GNOME_CANVAS_ITEM(connection->topad->parent->group),&x2,&y2); + gnome_canvas_item_w2i(GNOME_CANVAS_ITEM(GST_EDITOR_ELEMENT_GROUP(connection->parent)), &x2,&y2); } diff --git a/editor/gsteditorconnection.h b/editor/gsteditorconnection.h index 011edd3a8..84ad6ed6d 100644 --- a/editor/gsteditorconnection.h +++ b/editor/gsteditorconnection.h @@ -33,7 +33,7 @@ #define GST_IS_EDITOR_CONNECTION(obj) \ (GTK_CHECK_TYPE((obj),GST_TYPE_EDITOR_CONNECTION)) #define GST_IS_EDITOR_CONNECTION_CLASS(obj) \ - (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_EDITOR_CONNECTION))) + (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_EDITOR_CONNECTION)) typedef struct _GstEditorConnection GstEditorConnection; typedef struct _GstEditorConnectionClass GstEditorConnectionClass; @@ -57,5 +57,8 @@ struct _GstEditorConnectionClass { }; GtkType gst_editor_connection_get_type(); +GstEditorConnection *gst_editor_connection_new(GstEditorBin *parent, + GstEditorPad *frompad); + #endif /* __GST_EDITOR_CONNECTION_H__ */ diff --git a/editor/gsteditorcreate.c b/editor/gsteditorcreate.c index bfadd83d4..26c78dc13 100644 --- a/editor/gsteditorcreate.c +++ b/editor/gsteditorcreate.c @@ -30,7 +30,6 @@ GstEditorElement *gst_editor_create_item(GstEditorBin *bin, GstElementFactory *factory; GstElement *element; GstEditorElement *editorelement; - GtkType itemtype; factory = element_select_dialog(); if (factory) { diff --git a/editor/gsteditorpad.c b/editor/gsteditorpad.c index 9aea1f6c2..db7c54427 100644 --- a/editor/gsteditorpad.c +++ b/editor/gsteditorpad.c @@ -31,9 +31,9 @@ static void gst_editor_pad_get_arg(GtkObject *object,GtkArg *arg,guint id); static void gst_editor_pad_realize(GstEditorPad *pad); /* class implementation functions */ -static void gst_editor_pad_update(GnomeCanvasItem *item,double *affine, - ArtSVP *clip_path,int flags); -static gint gst_editor_pad_event(GnomeCanvasItem *item,GdkEvent *event); +//static void gst_editor_pad_update(GnomeCanvasItem *item,double *affine, +// ArtSVP *clip_path,int flags); +//static gint gst_editor_pad_event(GnomeCanvasItem *item,GdkEvent *event); /* events fired by items within self */ static gint gst_editor_pad_padbox_event(GnomeCanvasItem *item, @@ -58,7 +58,7 @@ enum { }; static GtkObjectClass *parent_class; -static guint gst_editor_pad_signals[LAST_SIGNAL] = { 0 }; +//static guint gst_editor_pad_signals[LAST_SIGNAL] = { 0 }; GtkType gst_editor_pad_get_type() { static GtkType pad_type = 0; @@ -111,10 +111,10 @@ GstEditorPad *gst_editor_pad_new(GstEditorElement *parent,GstPad *pad, GstEditorPad *editorpad; va_list args; - g_return_if_fail(parent != NULL); - g_return_if_fail(GST_IS_EDITOR_ELEMENT(parent)); - g_return_if_fail(pad != NULL); - g_return_if_fail(GST_IS_PAD(pad)); + g_return_val_if_fail(parent != NULL, NULL); + g_return_val_if_fail(GST_IS_EDITOR_ELEMENT(parent), NULL); + g_return_val_if_fail(pad != NULL, NULL); + g_return_val_if_fail(GST_IS_PAD(pad), NULL); editorpad = GST_EDITOR_PAD(gtk_type_new(GST_TYPE_EDITOR_PAD)); editorpad->pad = pad; @@ -213,8 +213,6 @@ static void gst_editor_pad_get_arg(GtkObject *object,GtkArg *arg,guint id) { } static void gst_editor_pad_realize(GstEditorPad *pad) { - gint i; - // g_print("realizing editor pad %p\n",pad); /* we must be attached to an element */ @@ -376,7 +374,7 @@ static gint gst_editor_pad_padbox_event(GnomeCanvasItem *item, GstEditorBin *bin; // g_print("padbox has event %d\n",event->type); - g_return_if_fail(GST_IS_EDITOR_PAD(pad)); + g_return_val_if_fail(GST_IS_EDITOR_PAD(pad), FALSE); element = pad->parent; bin = element->parent; diff --git a/editor/gsteditorproperty.c b/editor/gsteditorproperty.c index 28ce43b91..e5b2cd2a6 100644 --- a/editor/gsteditorproperty.c +++ b/editor/gsteditorproperty.c @@ -18,6 +18,7 @@ */ +#include <ctype.h> #include <gnome.h> #include <gst/gst.h> @@ -30,6 +31,8 @@ static void gst_editor_property_init(GstEditorProperty *property); static void gst_editor_property_set_arg(GtkObject *object,GtkArg *arg,guint id); static void gst_editor_property_get_arg(GtkObject *object,GtkArg *arg,guint id); +static GtkWidget *create_property_entry(GtkArg *arg); + enum { ARG_0, }; @@ -189,10 +192,10 @@ static gchar *make_readable_name(gchar *name) { colon = strstr(name, "::"); - if (colon) - new = g_strdup(&colon[2]); - else + if (!colon) new = g_strdup(name); + else + new = g_strdup(&colon[2]); new = g_strdelimit(new, G_STR_DELIMITERS, ' '); @@ -230,13 +233,13 @@ void gst_editor_property_show(GstEditorProperty *property, GstEditorElement *ele else { GtkArg *args; guint32 *flags; - guint num_args, i; - gchar *text; + guint num_args, i, count; table = gtk_table_new(1, 2, TRUE); + gtk_table_set_row_spacings(GTK_TABLE(table), 2); gtk_widget_show(table); - label = gtk_label_new("Name:"); + label = gtk_label_new(_("Name:")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0); gtk_widget_show(label); entry = gtk_entry_new(); @@ -248,23 +251,23 @@ void gst_editor_property_show(GstEditorProperty *property, GstEditorElement *ele gtk_signal_connect(GTK_OBJECT(entry), "changed", on_name_changed, element); args = gtk_object_query_args(type, &flags, &num_args); + count = 1; for (i=0; i<num_args; i++) { - if (flags && GTK_ARG_READABLE) { + if (flags[i] & GTK_ARG_READABLE) { gtk_object_getv(GTK_OBJECT(element->element), 1, &args[i]); - label = gtk_label_new(g_strconcat(make_readable_name(args[i].name), ":", NULL)); - gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0); - gtk_widget_show(label); - entry = gtk_entry_new(); - if (args[i].type == GTK_TYPE_STRING) { - text = GTK_VALUE_STRING(args[i]); - if (text) - gtk_entry_set_text(GTK_ENTRY(entry), GTK_VALUE_STRING(args[i])); - } - gtk_widget_show(entry); + entry = create_property_entry(&args[i]); + + if (entry) { + label = gtk_label_new(g_strconcat(make_readable_name(args[i].name), ":", NULL)); + gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0); + gtk_widget_show(label); - gtk_table_attach(GTK_TABLE(table), label, 0, 1, i+1, i+2, GTK_FILL, 0, 0, 0); - gtk_table_attach(GTK_TABLE(table), entry, 1, 2, i+1, i+2, GTK_FILL|GTK_EXPAND, 0, 0, 0); + gtk_table_attach(GTK_TABLE(table), label, 0, 1, count, count+1, GTK_FILL, 0, 0, 0); + gtk_table_attach(GTK_TABLE(table), entry, 1, 2, count, count+1, GTK_FILL|GTK_EXPAND, 0, 0, 0); + + count++; + } } } gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, TRUE, 0); @@ -275,7 +278,79 @@ void gst_editor_property_show(GstEditorProperty *property, GstEditorElement *ele } } +static void widget_show_toggled(GtkToggleButton *button, GtkArg *arg) { + GtkWidget *window; + + window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(GTK_VALUE_OBJECT(*arg))); + + gtk_widget_show(window); +} + +static GtkWidget *create_property_entry(GtkArg *arg) { + GtkWidget *entry = NULL; + + switch (arg->type) { + case GTK_TYPE_STRING: + { + gchar *text; + entry = gtk_entry_new(); + text = GTK_VALUE_STRING(*arg); + if (text) + gtk_entry_set_text(GTK_ENTRY(entry), text); + break; + } + case GTK_TYPE_BOOL: + { + gboolean toggle; + toggle = GTK_VALUE_BOOL(*arg); + entry = gtk_toggle_button_new_with_label((toggle? _("Yes"):_("No"))); + gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(entry), toggle); + break; + } + case GTK_TYPE_ULONG: + case GTK_TYPE_LONG: + case GTK_TYPE_UINT: + case GTK_TYPE_INT: + { + gint value; + GtkAdjustment *spinner_adj; + + value = GTK_VALUE_INT(*arg); + spinner_adj = (GtkAdjustment *) gtk_adjustment_new(50.0, 0.0, 100.0, 1.0, 5.0, 5.0); + entry = gtk_spin_button_new(spinner_adj, 1.0, 0); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(entry), (gfloat) value); + break; + } + case GTK_TYPE_FLOAT: + case GTK_TYPE_DOUBLE: + { + gdouble value; + GtkAdjustment *spinner_adj; + + value = GTK_VALUE_DOUBLE(*arg); + spinner_adj = (GtkAdjustment *) gtk_adjustment_new(50.0, 0.0, 100.0, 0.1, 5.0, 5.0); + entry = gtk_spin_button_new(spinner_adj, 1.0, 3); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(entry), (gfloat) value); + break; + } + default: + g_print("unknown type: %d\n", arg->type); + break; + } + if (!entry) { + if (arg->type == GTK_TYPE_WIDGET) + { + entry = gtk_toggle_button_new_with_label(_("Show...")); + gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(entry), FALSE); + gtk_signal_connect(GTK_OBJECT(entry), "toggled", widget_show_toggled, arg); + } + } + gtk_widget_show(entry); + return entry; +} diff --git a/editor/gstelementselect.c b/editor/gstelementselect.c index 4c7b0b9c8..36276dd86 100644 --- a/editor/gstelementselect.c +++ b/editor/gstelementselect.c @@ -115,10 +115,9 @@ GstElementFactory *element_select_dialog() { GList *elements; GstElementFactory *element; gchar **classes, **class; - GSList *classlist; GSList *classtree, *treewalk; GSList **curlist; - struct element_select_classlist *branch; + struct element_select_classlist *branch = NULL; struct element_select_details details; /* first create the dialog and associated stuff */ |