diff -ur -X excl mythtvopengl/libs/libmythtv/openglvideo.cpp mythtvopengl1/libs/libmythtv/openglvideo.cpp
--- mythtvopengl/libs/libmythtv/openglvideo.cpp	2008-05-05 09:06:35.000000000 +0800
+++ mythtvopengl1/libs/libmythtv/openglvideo.cpp	2008-04-16 00:09:01.000000000 +0800
@@ -352,40 +352,6 @@
 }
 
 // locking ok
-bool OpenGLVideo::ReInit(OpenGLContext *glcontext, bool colour_control,
-                         bool onscreen, QSize video_size, QRect visible_rect,
-                         QRect video_rect, QRect frame_rect,
-                         bool viewport_control, bool osd)
-{
-    VERBOSE(VB_PLAYBACK, LOC + "Reinit");
-
-    gl_context->MakeCurrent(true);
-
-    QString harddeint   = GetDeinterlacer(); // only adds back deinterlacer
-    QString softdeint   = softwareDeinterlacer;
-    bool    interlacing = hardwareDeinterlacing;
-    bool    resize      = videoResize;
-    QRect   resize_rect = videoResizeRect;
-
-    Teardown();
-
-    bool success = Init(glcontext, colour_control, onscreen, video_size,
-                        visible_rect, video_rect, frame_rect,
-                        viewport_control, osd);
-
-    if (harddeint != "")
-        success &= AddDeinterlacer(harddeint);
-
-    softwareDeinterlacer = softdeint;
-    SetDeinterlacing(interlacing);
-
-    if (resize)
-        SetVideoResize(resize_rect);
-
-    return success;
-}
-
-// locking ok
 bool OpenGLVideo::AddFilter(OpenGLFilterType filter)
 {
     if (filters.count(filter))
diff -ur -X excl mythtvopengl/libs/libmythtv/openglvideo.h mythtvopengl1/libs/libmythtv/openglvideo.h
--- mythtvopengl/libs/libmythtv/openglvideo.h	2008-04-15 19:56:29.000000000 +0800
+++ mythtvopengl1/libs/libmythtv/openglvideo.h	2008-04-16 00:09:04.000000000 +0800
@@ -58,10 +58,6 @@
               QSize video_size, QRect visible_rect,
               QRect video_rect, QRect frame_rect,
               bool viewport_control, bool osd = FALSE);
-    bool ReInit(OpenGLContext *gl, bool colour_control, bool onscreen,
-              QSize video_size, QRect visible_rect,
-              QRect video_rect, QRect frame_rect,
-              bool viewport_control, bool osd = FALSE);
 
     void UpdateInputFrame(const VideoFrame *frame);
     void UpdateInput(const unsigned char *buf, const int *offsets,
@@ -159,10 +155,6 @@
               QRect, QRect, bool, bool osd = false)
         { (void) osd; return false; }
 
-    bool ReInit(OpenGLContext*, bool, bool, QSize, QRect,
-                QRect, QRect, bool, bool osd = false)
-        { (void) osd; return false; }
-
     void UpdateInputFrame(const VideoFrame*) { }
     void UpdateInput(const unsigned char*, const int*, uint, int, QSize) { }
 
diff -ur -X excl mythtvopengl/libs/libmythtv/videoout_xv.cpp mythtvopengl1/libs/libmythtv/videoout_xv.cpp
--- mythtvopengl/libs/libmythtv/videoout_xv.cpp	2008-05-05 09:03:34.000000000 +0800
+++ mythtvopengl1/libs/libmythtv/videoout_xv.cpp	2008-05-05 08:43:16.000000000 +0800
@@ -3170,11 +3170,13 @@
     {
         VERBOSE(VB_PLAYBACK, LOC + "Re-initialise PiP.");
 
-        bool success = gl_pipchain->ReInit(
-            gl_context, db_use_picture_controls,
-            true, QSize(pipVideoWidth, pipVideoHeight),
-            position, position,
-            QRect(0, 0, pipVideoWidth, pipVideoHeight), false);
+        delete gl_pipchain;
+        gl_pipchain = new OpenGLVideo();
+        bool success = gl_pipchain->Init(
+             gl_context, db_use_picture_controls,
+             true, QSize(pipVideoWidth, pipVideoHeight),
+             position, position,
+             QRect(0, 0, pipVideoWidth, pipVideoHeight), false);
 
         gl_pipchain->SetMasterViewport(gl_videochain->GetViewPort());
         if (!success)
Binary files mythtvopengl/programs/mythbackend/mythbackend and mythtvopengl1/programs/mythbackend/mythbackend differ
Binary files mythtvopengl/programs/mythcommflag/mythcommflag and mythtvopengl1/programs/mythcommflag/mythcommflag differ

