#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