Hi  All,

Kindly review the attached patch for bug #6404286 - "xscreensaver fails 
to start due to unsuccessful reply from XGrabPointer(3X11) on metacity".

Attached patch (metacity-11-wireframe-timeout-grab.diff) is applicable 
for SNV spec-files branch 2.20, trunk and as well as the latest 
community sources.

Problem:- xscreensaver fails to start due to unsuccessful reply from 
xgrabpointer(3X11) on metacity.
               
Steps to simulate:-
         1) access Preferences -> Desktop Preferences -> Display -> 
Screen Saver
 
           Set Screen Blanking to 1 minute
           Set Lock to 1 minute
        or
       From the command prompt, launch "xscreensaver-demo"
 
         2) Restart xscreensaver daemon.
        
         3) Start resizing a window (Alt + F8) and leave it 
unattended(do not complete move/resize operation).

Result:-xscreensaver does not start and hence the screen dosen't lock.

Analysis and Solution:-
                       In wireframe mode, metacity does an XGrabServer 
to avoid screen dirt. This grab is not released until the move/resize 
operation is completed. Here in this case, user started off the 
move/resize operation using keyboard and never completed  the same. So 
the server grab is not released. Hence screensaver fails to start.

Hence the solution is to release the server grab after a timeout. So we 
put a timer to release the server grab when a user starts move/resize of 
a window in wireframe mode using keyboard and leaves it unattended for a 
particular timeout period (60 seconds).

Thanks,
Pallavi
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: metacity-11-wireframe-timeout-grab.diff
URL: 
<http://mail.opensolaris.org/pipermail/jds-review/attachments/20080318/875e4b85/attachment.ksh>

Reply via email to