Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 55559 Details for
Bug 146894
Update manager paints invalid figures
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
cleaned up patch
Patch_Bugzilla146894 (text/plain), 2.21 KB, created by
Alex Boyko
on 2006-12-12 23:22:16 EST
(
hide
)
Description:
cleaned up patch
Filename:
MIME Type:
Creator:
Alex Boyko
Created:
2006-12-12 23:22:16 EST
Size:
2.21 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.draw2d >Index: src/org/eclipse/draw2d/DeferredUpdateManager.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.draw2d/src/org/eclipse/draw2d/DeferredUpdateManager.java,v >retrieving revision 1.22 >diff -u -r1.22 DeferredUpdateManager.java >--- src/org/eclipse/draw2d/DeferredUpdateManager.java 5 Apr 2006 14:21:13 -0000 1.22 >+++ src/org/eclipse/draw2d/DeferredUpdateManager.java 13 Dec 2006 04:19:11 -0000 >@@ -55,6 +55,7 @@ > private boolean updateQueued = false; > > private boolean updating; >+private boolean validating = false; > private RunnableChain afterUpdate; > > private static class RunnableChain { >@@ -137,17 +138,28 @@ > > void paint(GC gc) { > SWTGraphics graphics = new SWTGraphics(gc); >- if (!updating) { >- /** >- * If a paint occurs not as part of an update, we should notify that the region >- * is being painted. Otherwise, notification already occurs in repairDamage(). >+ Rectangle rect = graphics.getClip(new Rectangle()); >+ if (!validating) { >+ if (!updating) { >+ /** >+ * If a paint occurs not as part of an update, we should notify that the region >+ * is being painted. Otherwise, notification already occurs in repairDamage(). >+ */ >+ HashMap map = new HashMap(); >+ map.put(root, rect); >+ firePainting(rect, map); >+ } >+ performValidation(); >+ root.paint(graphics); >+ } else { >+ /* >+ * If figures are being validated then we can simply >+ * add a dirty region here and update will repaint this region with other >+ * dirty regions when it gets to painting. We can't paint if we're not sure >+ * that all figures are valid. > */ >- HashMap map = new HashMap(); >- Rectangle rect = graphics.getClip(new Rectangle()); >- map.put(root, rect); >- firePainting(rect, map); >+ addDirtyRegion(root, rect); > } >- root.paint(graphics); > graphics.dispose(); > } > >@@ -185,6 +197,7 @@ > return; > try { > IFigure fig; >+ validating = true; > fireValidating(); > for (int i = 0; i < invalidFigures.size(); i++) { > fig = (IFigure) invalidFigures.get(i); >@@ -193,6 +206,7 @@ > } > } finally { > invalidFigures.clear(); >+ validating = false; > } > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 146894
:
54360
|
54567
|
54963
|
55517
|
55530
|
55531
|
55559
|
55871
|
56843