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 30 Jun 2007 05:23:48 PM UTC  
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 27 Aug 2007 07:56:27 AM UTC, comment #11:

Works for me.

Thanks Lauri.

Udo Giacomozzi <udog>
Project MemberIn charge of this item.
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>
Project 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>
Project MemberIn charge of this item.
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>
Project 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>
Project 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>
Project 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>
Project MemberIn charge of this item.
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>
Project MemberIn charge of this item.
Sun 01 Jul 2007 03:01:43 PM UTC, comment #2:

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

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

In what way do they not work correctly?

Bastiaan Jacques <bjacques>
Project 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>
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 27 Aug 2007 08:12:13 AM UTCstrkStatusReady For Test=>Fixed
    Sun 26 Aug 2007 10:24:15 AM UTCstrkStatusConfirmed=>Ready For Test
    Sun 26 Aug 2007 01:19:33 AM UTCrezAttached File-=>Added gnash_xshm_expose.patch, #13803
    Tue 31 Jul 2007 03:46:10 PM UTCudogSeverity5 - Blocker=>3 - Normal
    Wed 25 Jul 2007 12:59:46 PM UTCstrkSeverity3 - Normal=>5 - Blocker
    Mon 02 Jul 2007 07:53:16 AM UTCudogStatusNone=>Confirmed

    Back to the top

    Powered by Savane 3.1-cleanup