# HG changeset patch # User Stu Tomlinson # Date 1248743926 0 # Node ID 6e3c83e1057c75224ef220884ea84ef1d7a535a9 # Parent 60aab59fb35a0745607bc2eb85ac5d14f71558b2 Make gtkmedia.c compilable on systems without X11 (as long as they're Win32) diff -r 60aab59fb35a -r 6e3c83e1057c pidgin/gtkmedia.c --- a/pidgin/gtkmedia.c Tue Jul 28 01:16:09 2009 +0000 +++ b/pidgin/gtkmedia.c Tue Jul 28 01:18:46 2009 +0000 @@ -38,6 +38,10 @@ #ifdef USE_VV #include "media-gst.h" +#ifdef _WIN32 +#include +#endif + #include #define PIDGIN_TYPE_MEDIA (pidgin_media_get_type()) @@ -213,6 +217,7 @@ return FALSE; } +#ifdef HAVE_X11 static int pidgin_x_error_handler(Display *display, XErrorEvent *event) { @@ -246,6 +251,7 @@ error_type); return 0; } +#endif static void menu_hangup(gpointer data, guint action, GtkWidget *item) @@ -303,7 +309,9 @@ GtkWidget *vbox; media->priv = PIDGIN_MEDIA_GET_PRIVATE(media); +#ifdef HAVE_X11 XSetErrorHandler(pidgin_x_error_handler); +#endif vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(media), vbox); @@ -450,10 +458,19 @@ PidginMediaPrivate *priv = data->gtkmedia->priv; gulong window_id; +#ifdef _WIN32 + if (data->participant == NULL) + window_id = GDK_WINDOW_HWND(priv->local_video->window); + else + window_id = GDK_WINDOW_HWND(priv->remote_video->window); +#elif defined(HAVE_X11) if (data->participant == NULL) window_id = GDK_WINDOW_XWINDOW(priv->local_video->window); else window_id = GDK_WINDOW_XWINDOW(priv->remote_video->window); +#else +# error "Unsupported windowing system" +#endif purple_media_set_output_window(priv->media, data->session_id, data->participant, window_id);