bugGnash - The GNU Flash player - Bugs: bug #20301, expose events don't work correctly...

 
 

bug #20301: expose events don't work correctly with MIT-SHM

Submitter:  Sandro Santilli <strk>
Submitted:  Sat 30 Jun 2007 05:23:48 PM UTC
   
 
Category:  render-agg Severity:  3 - Normal
Release:  None Status:  Fixed
Privacy:  Public Assigned to:  udog
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Mon 27 Aug 2007 07:56:27 AM UTC, comment #11: 

Works for me.

Thanks Lauri.

Udo Giacomozzi <udog>
Group Member
Sun 26 Aug 2007 10:24:15 AM UTC, comment #10: 

I've committed this patch, thanks a lot.
Also, I've updated the ./configure and dox to enable mit-shm by default.

Sandro Santilli <strk>
Group Member
Sun 26 Aug 2007 01:19:33 AM UTC, comment #9: 

I think this is because gtk uses double-buffering by default for widgets.

Before the expose handler is called, gtk redirects drawing to offscreen buffer. The handler updates window directly with XShmPutImage() and returns control to gtk - which then proceeds to overwrite the window contents with its offscreen buffer.

I'll attach a patch that fixes this by disabling double buffering for _drawing_area.

(file #13803)

Lauri Mylläri <rez>
Tue 31 Jul 2007 03:46:10 PM UTC, comment #8: 

Ok, I disabled it (but don't close the bug!).

Still, has someone an idea what could be wrong? Anyone familiar with X?

Udo Giacomozzi <udog>
Group Member
Fri 27 Jul 2007 03:54:22 PM UTC, comment #7: 

Udo can we disable this feature for the upcoming 0.8.1 release till we find a fix ?

Sandro Santilli <strk>
Group Member
Wed 25 Jul 2007 12:59:46 PM UTC, comment #6: 

Made this a blocker, we want it either fixed or disabled for 0.8.1

Sandro Santilli <strk>
Group Member
Tue 03 Jul 2007 01:18:15 AM UTC, comment #5: 

Guess what ? expose events also increase memory use ! take a look.

Sandro Santilli <strk>
Group Member
Mon 02 Jul 2007 11:22:10 AM UTC, comment #4: 

FYI, the X server calls (XShmPutImage, to be exact) are done correctly. The function is called with the correct arguments for the re-exposed area.

For some strange reason, however, the X server does not really draw the image. While moving the window off-screen to on-screen, only small portions (usually 1 pixel wide with correct height or vice-versa) are redrawn.

My window manager uses rounded windows. When moving the window using the keyboard(!) I see the only the (rounded) corners to be redrawn, everything else gets the background color of the window.

So I guess it is some X window event handling problem or we should not XShmPutImage on the window directly. I'm no X11 expert...

Udo Giacomozzi <udog>
Group Member
Mon 02 Jul 2007 07:53:16 AM UTC, comment #3: 

Confirmed. FYI, Sandro is talking about RE-exposed parts, i.e. moving the window partly out of screen and then move it back.

Udo Giacomozzi <udog>
Group Member
Sun 01 Jul 2007 03:01:43 PM UTC, comment #2: 

I just don't see the exposed parts being redrawn.

Sandro Santilli <strk>
Group Member
Sun 01 Jul 2007 11:19:31 AM UTC, comment #1: 

In what way do they not work correctly?

Bastiaan Jacques <bjacques>
Group Member
Sat 30 Jun 2007 05:23:48 PM UTC, original submission:  

It seems that when MIT-SHM is engaged expose events don't work correctly. This is with gtk/agg, --with-pixelformat=RGB24,BGRA32
needed to make use of it.

Sandro Santilli <strk>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #13803:  gnash_xshm_expose.patch added by rez (618B - text/x-patch - disable double-buffering for agg drawing area)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by rez (Updated the item)
  • -email is unavailable- added by udog (Posted a comment)
  • -email is unavailable- added by bjacques (Posted a comment)
  • -email is unavailable- added by strk (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2007-08-27 strk StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2007-08-26 strk StatusConfirmed Ready For Test
    2007-08-26 rez Attached File- Added gnash_xshm_expose.patch, #13803
    2007-07-31 udog Severity5 - Blocker 3 - Normal
    2007-07-25 strk Severity3 - Normal 5 - Blocker
    2007-07-02 udog StatusNone Confirmed

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code