OSDN Git Service

LinGui: revert part of the resource management changes of r3382
[handbrake-jp/handbrake-jp-git.git] / gtk / src / preview.c
index 2171f8a..fc713f6 100644 (file)
@@ -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)
 {