Ticket #6548: x11_refresh_connection.diff

File x11_refresh_connection.diff, 2.0 KB (added by markk, 16 years ago)

Experimental patch for first 3 backtraces reported.

  • libs/libmythtv/videoout_xv.cpp

     
    356356    if (!XJ_started)
    357357        return -1;
    358358
    359     return MythXGetRefreshRate(XJ_disp, XJ_screen_num);
     359    return MythXGetRefreshRate();
    360360}
    361361
    362362void VideoOutputXv::ResizeForVideo(void)
  • libs/libmythui/util-x11.cpp

     
    237237    return pixelAspect;
    238238}
    239239
    240 int MythXGetRefreshRate(Display *display, int screen)
     240int MythXGetRefreshRate(Display *d, int screen)
    241241{
     242    Display *display = d;
    242243    if (!display)
     244        display = MythXOpenDisplay();
     245    if (!display)
     246    {
     247        VERBOSE(VB_IMPORTANT, "MythXGetRefreshRate: "
     248                "MythXOpenDisplay call failed");
    243249        return -1;
     250    }
    244251
     252    X11L;
     253    int scr = screen;
     254    if (scr < 0)
     255        scr = DefaultScreen(display);
     256    X11U;
     257
    245258    XF86VidModeModeLine mode_line;
    246259    int dot_clock;
    247260
    248261    int ret = False;
    249     X11S(ret = XF86VidModeGetModeLine(display, screen,
     262    X11S(ret = XF86VidModeGetModeLine(display, scr,
    250263                                      &dot_clock, &mode_line));
    251264    if (!ret)
    252265    {
  • libs/libmythui/util-x11.h

     
    1919MPUBLIC QSize  MythXGetDisplaySize(      Display *d = NULL, int screen = -1);
    2020MPUBLIC QSize  MythXGetDisplayDimensions(Display *d = NULL, int screen = -1);
    2121MPUBLIC double MythXGetPixelAspectRatio( Display *d = NULL, int screen = -1);
    22 MPUBLIC int    MythXGetRefreshRate(      Display *display,  int screen);
     22MPUBLIC int    MythXGetRefreshRate(      Display *d = NULL, int screen = -1);
    2323#endif // USING_X11
    2424
    2525MPUBLIC int GetNumberOfXineramaScreens();