Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 349927
Collapse All | Expand All

(-)compiz-plugins-extra-0.8.6/src/wallpaper/wallpaper.c (+43 lines)
Lines 34-39 Link Here
34
34
35
static int WallpaperDisplayPrivateIndex;
35
static int WallpaperDisplayPrivateIndex;
36
36
37
Damage damage;
38
37
typedef struct _WallpaperBackground
39
typedef struct _WallpaperBackground
38
{
40
{
39
    char           *image;
41
    char           *image;
Lines 375-380 Link Here
375
				     CWBackPixel | CWBorderPixel | CWColormap,
377
				     CWBackPixel | CWBorderPixel | CWColormap,
376
				     &attr);
378
				     &attr);
377
379
380
/** LOR **/
381
damage = XDamageCreate (dpy, s->root , XDamageReportRawRectangles);
382
/** LOR **/
383
378
    XSetWMProperties (dpy, ws->fakeDesktop, NULL, NULL,
384
    XSetWMProperties (dpy, ws->fakeDesktop, NULL, NULL,
379
		      programArgv, programArgc, &xsh, &xwmh, NULL);
385
		      programArgv, programArgc, &xsh, &xwmh, NULL);
380
386
Lines 392-399 Link Here
392
398
393
    XFixesDestroyRegion (dpy, region);
399
    XFixesDestroyRegion (dpy, region);
394
400
401
/***  LOR2 
395
    XMapWindow (dpy, ws->fakeDesktop);
402
    XMapWindow (dpy, ws->fakeDesktop);
396
    XLowerWindow (dpy, ws->fakeDesktop);
403
    XLowerWindow (dpy, ws->fakeDesktop);
404
****/
397
}
405
}
398
406
399
static void
407
static void
Lines 405-410 Link Here
405
	XDestroyWindow (s->display->display, ws->fakeDesktop);
413
	XDestroyWindow (s->display->display, ws->fakeDesktop);
406
414
407
    ws->fakeDesktop = None;
415
    ws->fakeDesktop = None;
416
417
/*** LOR4 ****/
418
    if (damage)
419
	XDamageDestroy (s->display->display, damage);
420
/*** LOR4 ****/
421
408
}
422
}
409
423
410
static void
424
static void
Lines 585-598 Link Here
585
    CompScreen *s;
599
    CompScreen *s;
586
    WALLPAPER_DISPLAY (d);
600
    WALLPAPER_DISPLAY (d);
587
601
602
603
/*** LOR5-1 ***/
604
	int damage_event,damage_error;
605
/*** LOR5-1 ***/
606
607
588
    UNWRAP (wd, d, handleEvent);
608
    UNWRAP (wd, d, handleEvent);
589
    (*d->handleEvent) (d, event);
609
    (*d->handleEvent) (d, event);
610
611
590
    WRAP (wd, d, handleEvent, wallpaperHandleEvent);
612
    WRAP (wd, d, handleEvent, wallpaperHandleEvent);
591
613
614
592
    for (s = d->screens; s; s = s->next)
615
    for (s = d->screens; s; s = s->next)
593
    {
616
    {
617
618
594
	WALLPAPER_SCREEN (s);
619
	WALLPAPER_SCREEN (s);
595
620
621
/***  LOR5  ****/
622
Display *dpy=s->display->display;
623
XDamageQueryExtension (dpy, &damage_event, &damage_error);
624
   if (event->type == damage_event + XDamageNotify)
625
    {
626
	XDamageNotifyEvent *de = (XDamageNotifyEvent*) event;
627
628
629
	if (s->root  == de->drawable)
630
	{
631
632
	    XMapWindow ( dpy , ws->fakeDesktop);
633
	    XLowerWindow ( dpy , ws->fakeDesktop);
634
	}
635
   }
636
/***  LOR5  ****/
637
638
596
	if (!s->desktopWindowCount && ws->fakeDesktop == None
639
	if (!s->desktopWindowCount && ws->fakeDesktop == None
597
	    && ws->nBackgrounds)
640
	    && ws->nBackgrounds)
598
	    createFakeDesktopWindow (s);
641
	    createFakeDesktopWindow (s);

Return to bug 349927