add: widget_class->realize = bacon_video_widget_realize; widget_class->expose_event = bacon_video_widget_expose_event;
context: bacon_video_widget_class_init (BaconVideoWidgetClass * klass){  GObjectClass *object_class;  GtkWidgetClass *widget_class;  object_class = (GObjectClass *) klass;  widget_class = (GtkWidgetClass *) klass;  parent_class = gtk_type_class (gtk_box_get_type ());  /* GtkWidget */  widget_class->size_request = bacon_video_widget_size_request;  widget_class->size_allocate = bacon_video_widget_size_allocate;    /* GObject */  object_class->set_property = bacon_video_widget_set_property;  object_class->get_property = bacon_video_widget_get_property;  object_class->finalize = bacon_video_widget_finalize;  /* Properties */  g_object_class_install_property (object_class, PROP_LOGO_MODE,				   g_param_spec_boolean ("logo_mode", NULL,							 NULL, FALSE,							 G_PARAM_READWRITE));  g_object_class_install_property (object_class, PROP_POSITION,				   g_param_spec_int ("position", NULL, NULL,						     0, G_MAXINT, 0,						     G_PARAM_READABLE));  g_object_class_install_property (object_class, PROP_STREAM_LENGTH,				   g_param_spec_int64 ("stream_length", NULL,						     NULL, 0, G_MAXINT64, 0,						     G_PARAM_READABLE));  g_object_class_install_property (object_class, PROP_PLAYING,				   g_param_spec_boolean ("playing", NULL,							 NULL, FALSE,							 G_PARAM_READABLE));  g_object_class_install_property (object_class, PROP_SEEKABLE,				   g_param_spec_boolean ("seekable", NULL,							 NULL, FALSE,							 G_PARAM_READABLE));  g_object_class_install_property (object_class, PROP_SHOWCURSOR,				   g_param_spec_boolean ("showcursor", NULL,							 NULL, FALSE,							 G_PARAM_READWRITE));  g_object_class_install_property (object_class, PROP_MEDIADEV,				   g_param_spec_string ("mediadev", NULL,							NULL, FALSE,							G_PARAM_WRITABLE));  g_object_class_install_property (object_class, PROP_SHOW_VISUALS,				   g_param_spec_boolean ("showvisuals", NULL,							 NULL, FALSE,							 G_PARAM_WRITABLE));  /* Signals */  bvw_table_signals[SIGNAL_ERROR] =    g_signal_new ("error",		  G_TYPE_FROM_CLASS (object_class),		  G_SIGNAL_RUN_LAST,		  G_STRUCT_OFFSET (BaconVideoWidgetClass, error),		  NULL, NULL,		  baconvideowidget_marshal_VOID__STRING_BOOLEAN_BOOLEAN,		  G_TYPE_NONE, 3, G_TYPE_STRING,		  G_TYPE_BOOLEAN, G_TYPE_BOOLEAN);  bvw_table_signals[SIGNAL_EOS] =    g_signal_new ("eos",		  G_TYPE_FROM_CLASS (object_class),		  G_SIGNAL_RUN_LAST,		  G_STRUCT_OFFSET (BaconVideoWidgetClass, eos),		  NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);  bvw_table_signals[SIGNAL_GOT_METADATA] =    g_signal_new ("got-metadata",		  G_TYPE_FROM_CLASS (object_class),		  G_SIGNAL_RUN_LAST,		  G_STRUCT_OFFSET (BaconVideoWidgetClass, got_metadata),		  NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);  bvw_table_signals[SIGNAL_TITLE_CHANGE] =    g_signal_new ("title-change",		  G_TYPE_FROM_CLASS (object_class),		  G_SIGNAL_RUN_LAST,		  G_STRUCT_OFFSET (BaconVideoWidgetClass, title_change),		  NULL, NULL,		  g_cclosure_marshal_VOID__STRING,		  G_TYPE_NONE, 1, G_TYPE_STRING);  bvw_table_signals[SIGNAL_CHANNELS_CHANGE] =    g_signal_new ("channels-change",		  G_TYPE_FROM_CLASS (object_class),		  G_SIGNAL_RUN_LAST,		  G_STRUCT_OFFSET (BaconVideoWidgetClass, channels_change),		  NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);  bvw_table_signals[SIGNAL_TICK] =    g_signal_new ("tick",		  G_TYPE_FROM_CLASS (object_class),		  G_SIGNAL_RUN_LAST,		  G_STRUCT_OFFSET (BaconVideoWidgetClass, tick),		  NULL, NULL,		  baconvideowidget_marshal_VOID__INT64_INT64_FLOAT_BOOLEAN,		  G_TYPE_NONE, 4, G_TYPE_INT64, G_TYPE_INT64, G_TYPE_FLOAT,                  G_TYPE_BOOLEAN);  bvw_table_signals[SIGNAL_BUFFERING] =    g_signal_new ("buffering",		  G_TYPE_FROM_CLASS (object_class),		  G_SIGNAL_RUN_LAST,		  G_STRUCT_OFFSET (BaconVideoWidgetClass, buffering),		  NULL, NULL,		  g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);  bvw_table_signals[SIGNAL_SPEED_WARNING] =    g_signal_new ("speed-warning",		  G_TYPE_FROM_CLASS (object_class),		  G_SIGNAL_RUN_LAST,		  G_STRUCT_OFFSET (BaconVideoWidgetClass, speed_warning),		  NULL, NULL,		  g_cclosure_marshal_VOID__VOID,		  G_TYPE_NONE, 0);}