#13175 closed enhancement (fixed)
[Patch] Use invalidation event instead of isChanged()
| Reported by: | michael2402 | Owned by: | team |
|---|---|---|---|
| Priority: | normal | Milestone: | 16.08 |
| Component: | Core mappaint | Version: | |
| Keywords: | gsoc-core | Cc: | Don-vip, bastiK, stoecker |
Description
Make the MapView trace the source of invalidation events and thus make isChanged() obsolete.
Attachments (3)
Change History (15)
by , 9 years ago
| Attachment: | patch-mapview-trace-invalidation.patch added |
|---|
comment:1 by , 9 years ago
comment:2 by , 9 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → needinfo |
comment:3 by , 9 years ago
| Milestone: | 16.07 → 16.08 |
|---|
I'd suggest to leave this for 16.08. I'm working on the TileSource layers and will split the patch for them.
by , 9 years ago
| Attachment: | patch-fix-13175-2.patch added |
|---|
comment:5 by , 9 years ago
| Owner: | changed from to |
|---|---|
| Status: | needinfo → new |
comment:6 by , 9 years ago
The method Layer.isChanged() is deprecated but still used in MapView.paint()?
comment:7 by , 9 years ago
Yes. Layers that still implement it (plugins) will use it to tell the MapView that they have been changed. This is why the MapView still uses it in addition to the invalidation events.
comment:8 by , 9 years ago
OK. I'd prefer to see the two TODOs implemented before merging it, I fear the absence of delays to be problematic.
comment:9 by , 9 years ago
The absence worked for years for me.
repaint(100) will repaint after at most 100ms. Internally it triggers the long form of the JComponent#repaint method which ignores that parameter.
But I added a timer any way ;-)
by , 9 years ago
| Attachment: | patch-fix-13175-3.patch added |
|---|



does not apply cleanly on top of r10576