Bug#669712: [freeplane] RE: freeplane: Visual corruption after scrolling mindmap

Felix Natter fnatter at gmx.net
Tue Jun 25 17:17:55 UTC 2013


Omega Weapon <omegaphil at gmail.com> writes:

hi Omega,

> On 22/06/13 11:07, Felix Natter wrote:
>
>> I talked to Dimitry, the project lead, about the issue. _Roughly_ it's
>> like this:
>>
>> - there is an EventQueue to make sure that the input order is preserved
>> - an EventBuffer/KeyEventDispatcher waits for the component to get focus
>>    or for an ESCAPE key press
>> - There is only one Thread, so it's not a multi-threading issue.
>>
>> => *a workaround is to press ESCAPE in this case :-)*
>
> Excellent, a workaround! I'll be looking forward to the next instance
> now. I'm grateful for Dimitry's efforts!

Freeplane 1.2.23 has just hit testing :-)

>
>>> I had hoped to learn Java and then hook into keypresses - some completely
>>> clueless notes:
>>
>> Dimitry tried hard to reproduce this with a fixed set of steps, and he
>> didn't succeed, so it may be hard to do :-(
>
> Sorry to cause such trouble - I'm due to get C++ progression hopefully
> within a few weeks, so maybe I'm 0.5y away from reading into Java. Then at
> least I will be able to add debugging code to prove what is/isn't
> happening.
>
>
>>> ====================================================================
>>>
>>> grep -iInr 'getNodeKeyListener'
>>> src/org/freeplane/view/swing/ui/UserInputListenerFactory.java:192: public
>>> KeyListener getNodeKeyListener() {
>>> src/org/freeplane/view/swing/map/NodeView.java:1126:
>>> mainView.addKeyListener(userInputListenerFactory.getNodeKeyListener());
>>> src/org/freeplane/core/ui/IUserInputListenerFactory.java:58: KeyListener
>>> getNodeKeyListener();
>>>
>>> These are under the freeplane source
>>> directory. 'src/org/freeplane/core/ui/IUserInputListenerFactory.java' looks
>>> to be the initial interface which ties Java functionality (KeyListener)
>>> with a method. It looks like
>>> src/org/freeplane/view/swing/ui/UserInputListenerFactory.java' might allow
>>> me to insert code on keypresses, but theres nothing about keypress events,
>>> just method calls - so it might not be doable without creating my own
>>> KeyListener method?
>>
>> I am a Java dev myself, and I don't know how to fix this. I think you
>> have to dive really deeply into swing _and_ into the freeplane codebase
>> (like Dimitry does) in order to fix this.
>
> Sounds like more of a hope for me than fighting OpenJDK 7!

Now that we've got the two workarounds, do you think we can close this
bug? You can open a new report if you have problems (with 1.2.23).

Best Regards,
-- 
Felix Natter



More information about the pkg-java-maintainers mailing list