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 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-cleanup1