| Summary: | Grab lost when setRedraw called in GTK 2.18 and greater | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Bogdan Gheorghe <gheorghe> | ||||
| Component: | SWT | Assignee: | Silenio Quarti <Silenio_Quarti> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | h1055071, pwebster, Silenio_Quarti | ||||
| Version: | 3.7 | ||||||
| Target Milestone: | 3.7 M7 | ||||||
| Hardware: | PC | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 321560 | ||||||
| Attachments: |
|
||||||
|
Description
Bogdan Gheorghe
The original bug fix for Bug 290395 was hiding and showing the window and this caused the grab to be lost. The reason we needed to hide/show the window is that GTK is not sending out a visiblity notify event when the window becomes unobscured. We depend on that event to optimize the drawing of completely obscured widgets (GTK still sends the paint events for obscured widgets). This patch turns off this optimization for GTK > 2.17.11. Note that this is not a good final solution as it will introduce considerable performance degradation for Eclipse given that there are many obscured editors and perspectives. On a side note, we believe that this will fix Bug 333965. Paul, could you give this a spin on your home machine? Created attachment 193191 [details]
Test patch
Hi, did this fix the issue? Fixed > 20110421 (In reply to comment #4) > Fixed > 20110421 Thank-you! I shall test it when the I build is available. Did this make it into the weekend I builds? I still have Bug 333965 in org.eclipse.swt.gtk.linux.x86_64_3.7.0.v3730 PW The changes released last week were just addressing the GEF bug. We weren't sure at the time that the attached patch was correct. We have since confirmed that the patch is right and have released it to HEAD. It will be available for testing in tomorrow's I-build. I tested this on build eclipse-SDK-I20110425-1800-linux-gtk. In GEF Editors it is now possible to drag the palette splitter as detailed in Bug 321560. The only downside is that there are repaint issues as mentioned above. Dragging the palette splitter from left to right leaves a trail of slow repainted image sections. The "monkey patch" submitted in a comment to Bug 321560 actually works better. |