Hi Rahaman, Your fix worked for me as well :) Thanks for your concern.
Regards Amit Pundir On Thu, Jan 29, 2009 at 10:33 AM, Mustafizur <[email protected]> wrote: > Hi Amit, > > I also faced similar issue when i was working with eglx backend but for some > other platform. I believe not many people are working on eglx backend, > that's why i never got any response either here or in IRC. > > The problem is clutter-x11 backend. Go inside > clutter_x11_get_stage_visual(). It returns CLUTTER_STAGE_X11 > (impl)->xvisinfo, which is NULL here. I don't know whether it should be set > here by someone else or not. So, i took a look at the glx backend, and found > that there this is created using glXChooseVisual() in > clutter_stage_glx_realize(). > > So, i tried creating the visinfo by myself in clutter-x11 and it seems to be > working. But truly, i don't know whether it is the real fix. > > My fix is as follows... the whole if block in brown color is my change. > > XVisualInfo * > clutter_x11_get_stage_visual (ClutterStage *stage) > { > ClutterStageWindow *impl; > ClutterStageX11 *stage_x11; > XVisualInfo theTemplate; > XVisualInfo *xvinfo; > int numVisuals; > long mask; > > g_return_val_if_fail (CLUTTER_IS_STAGE (stage), NULL); > > impl = _clutter_stage_get_window (stage); > g_assert (CLUTTER_IS_STAGE_X11 (impl)); > > // return CLUTTER_STAGE_X11 (impl)->xvisinfo; > #if 1 > if((CLUTTER_STAGE_X11 (impl)->xvisinfo)==NULL) > { > stage_x11 = CLUTTER_STAGE_X11 (impl); > theTemplate.screen = DefaultScreen (stage_x11->xdpy); > mask = VisualScreenMask; > xvinfo = XGetVisualInfo(stage_x11->xdpy, mask, &theTemplate, &numVisuals); > stage_x11->xvisinfo=xvinfo; > return xvinfo; > > } > else > return CLUTTER_STAGE_X11 (impl)->xvisinfo; > #endif > } > > Regs, > Rahaman -- To unsubscribe send a mail to [email protected]
