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

Submitted by:  Sandro Santilli <strk>
Submitted on:  Sat Jun 30 17:23:48 2007  
Category: render-aggSeverity: 3 - Normal
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: Udo Giacomozzi <udog>
Open/Closed: Closed

Add a New Comment (Rich MarkupRich Markup):

You are not logged in

Please log in, so followups can be emailed to you.


(Jump to the original submission Jump to the original submission)

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

Works for me.

Thanks Lauri.

Udo Giacomozzi <udog>
Project MemberIn charge of this item.
Sun Aug 26 10:24:15 2007, 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>
Project Member
Sun Aug 26 01:19:33 2007, 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 Jul 31 15:46:10 2007, 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>
Project MemberIn charge of this item.
Fri Jul 27 15:54:22 2007, comment #7:

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

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

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

Sandro Santilli <strk>
Project Member
Tue Jul 3 01:18:15 2007, comment #5:

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

Sandro Santilli <strk>
Project Member
Mon Jul 2 11:22:10 2007, 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>
Project MemberIn charge of this item.
Mon Jul 2 07:53:16 2007, 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>
Project MemberIn charge of this item.
Sun Jul 1 15:01:43 2007, comment #2:

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

Sandro Santilli <strk>
Project Member
Sun Jul 1 11:19:31 2007, comment #1:

In what way do they not work correctly?

Bastiaan Jacques <bjacques>
Project Member
Sat Jun 30 17:23:48 2007, 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>
Project Member


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

Attach File(s):

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
  • -unavailable- added by rez (Updated the item)
  • -unavailable- added by udog (Posted a comment)
  • -unavailable- added by bjacques (Posted a comment)
  • -unavailable- added by strk (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    Follow 7 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon Aug 27 08:12:13 2007strkStatusReady For Test=>Fixed
    Sun Aug 26 10:24:15 2007strkStatusConfirmed=>Ready For Test
    Sun Aug 26 01:19:33 2007rezAttached File-=>Added gnash_xshm_expose.patch, #13803
    Tue Jul 31 15:46:10 2007udogSeverity5 - Blocker=>3 - Normal
    Wed Jul 25 12:59:46 2007strkSeverity3 - Normal=>5 - Blocker
    Mon Jul 2 07:53:16 2007udogStatusNone=>Confirmed

    Back to the top

    Powered by Savane 3.1-cleanup1