X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=gtk%2Fsrc%2Fpreview.c;h=fc713f6d298b720362ec6f6c39f0ade6afa4b7b0;hb=5fd4d5461a874e0cf0202616bb88eb591a59ff3f;hp=2171f8ac84c9e91f85505ff45cc6c7247c24cb0a;hpb=721c765844d8bd2ac925eb6c62687ed93dc6dddd;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/gtk/src/preview.c b/gtk/src/preview.c index 2171f8ac..fc713f6d 100644 --- a/gtk/src/preview.c +++ b/gtk/src/preview.c @@ -164,6 +164,18 @@ ghb_preview_init(signal_user_data_t *ud) GstBus *bus; GstElement *xover; +#if GTK_CHECK_VERSION(2,18,0) + if (!gdk_window_ensure_native(ud->preview->view->window)) + { + g_message("Couldn't create native window for GstXOverlay. Disabling live preview."); + GtkWidget *widget = GHB_WIDGET(ud->builder, "live_preview_box"); + gtk_widget_hide (widget); + widget = GHB_WIDGET(ud->builder, "live_preview_duration_box"); + gtk_widget_hide (widget); + return; + } +#endif + #if !defined(_WIN32) ud->preview->xid = GDK_DRAWABLE_XID(ud->preview->view->window); #else @@ -175,6 +187,7 @@ ghb_preview_init(signal_user_data_t *ud) xover = gst_element_factory_make("gconfvideosink", "xover"); if (ud->preview->play == NULL || xover == NULL) { + g_message("Couldn't initialize gstreamer. Disabling live preview."); GtkWidget *widget = GHB_WIDGET(ud->builder, "live_preview_box"); gtk_widget_hide (widget); widget = GHB_WIDGET(ud->builder, "live_preview_duration_box"); @@ -533,8 +546,6 @@ ghb_live_reset(signal_user_data_t *ud) ghb_set_preview_image(ud); } -extern void hb_get_tempory_directory(hb_handle_t *h, char path[512]); - G_MODULE_EXPORT void live_preview_start_cb(GtkWidget *xwidget, signal_user_data_t *ud) {