=== modified file 'cxfe.c' --- cxfe.c 2007-03-05 13:52:15 +0000 +++ cxfe.c 2007-03-05 22:30:09 +0000 @@ -353,8 +353,10 @@ static void dest_size_cb(void *data, int video_width, int video_height, double video_pixel_aspect, int *dest_width, int *dest_height, double *dest_pixel_aspect) { + if(!running) return; + *dest_width = width; *dest_height = height; *dest_pixel_aspect = pixel_aspect; @@ -372,8 +374,7 @@ *win_y = ypos; *dest_width = width; *dest_height = height; - *dest_pixel_aspect = pixel_aspect; - + *dest_pixel_aspect = video_pixel_aspect; } //static void frame_output_cb_x11(void *data, int video_width, int video_height, @@ -797,7 +798,7 @@ while(running) { - + XEvent xevent; int got_event; @@ -1211,9 +1212,16 @@ window[0] = XCreateSimpleWindow(display, XDefaultRootWindow(display), xpos, ypos, width, height, 1, 0, 0); + res_v = DisplayWidth(display, screen); + res_h = DisplayHeight(display, screen); + window[1] = XCreateSimpleWindow(display, XDefaultRootWindow(display), - 0, 0, (DisplayWidth(display, screen)), - (DisplayHeight(display, screen)), 0, 0, 0); + 0, 0, res_v, res_h, 0, 0, 0); + + if (fullscreen) { + width = res_v; + height = res_h; + } XSelectInput(display, window[0], INPUT_MOTION); @@ -1227,18 +1235,16 @@ PROP_MWM_HINTS_ELEMENTS); - if(XShmQueryExtension(display) == True) + if(XShmQueryExtension(display) == True) completion_event = XShmGetEventBase(display) + ShmCompletion; - else + else completion_event = -1; - if (fullscreen) - wsScreenSaverOff(display); + if (fullscreen) + wsScreenSaverOff(display); XMapRaised(display, window[fullscreen]); - res_h = (DisplayWidth(display, screen) * 1000 / DisplayWidthMM(display, screen)); - res_v = (DisplayHeight(display, screen) * 1000 / DisplayHeightMM(display, screen)); XSync(display, True); XUnlockDisplay(display); @@ -1251,7 +1257,7 @@ //else vis.frame_output_cb = frame_output_cb; vis.user_data = NULL; - pixel_aspect = res_v / res_h; + pixel_aspect = res_h / res_v; }