LOL - These three letters perfectly describe my behaviour when I wrote my first post using Thingamablog 1.0.6- it didn't even run for five minutes, when I found the first (minor) bug in the software: Instead of editing the presentation of the heading of my first entry, I edited the menu of Thingamablog itself :D. Here are two pictures to illustrate the bug:
1) Normal presentation:
2) Buggy presentation:
The bug fix
I have contacted the programmer of Thingamablog and reported the bug. In
addition, I have become acquainted with the source code of the blog
software to fix it on my own. Hence, everybody who is irritated of this
bug can download
my fixed and recompiled version of Thingamablog and use this one
until the bug is also fixed in the official release. If you wary
about downloading an inofficially compiled program version, you can also
fix the bug for yourself:
// BugFix by Fabian Voith (www.FaVorithSoft.de) for Java VM 1.5:
if (editor.getCaretPosition()<=0)
{
System.out.println("BugFix by Fabian Voith.");
return;
// } else {
// System.out.println("Caret: "+editor.getCaretPosition());
}
// End of BugFix
Please note:
The bug appears, when the menu, shown in the screenshots above, is still
focused, although the user can already make use of the editing functions
of the Entry Editor. However, this situation should never occur, because the Thingamablog
author remembered to invoke the editor.requestFocusInWindow()
method in configureCurrentEditor. Apparently, this call doesn't
work for a specific Java Virtual Machine (Java VM) version, namely
1.5, which I'm using, and simply gets lost in the Swing Event Queue
(which seems to be a well-known problem in this release) or, otherwise,
is handled too late (just a not too improbable assumption). So, if you
make use of another VM version, you don't have to care. In other
respects you should assemble my bug fix. Its mode of operation is simple: Before performing the editing requests,
the fix checks, where the caret is located. If editor.getCaretPosition()
returns a value less or equal 0 (verbal: zero), the operation is
aborted. There's only one blemish: Even though the caret is positioned within
the JEditorPane, editor.getCaretPosition returns 0 (zero),
if there is no text in the Editor Pane, yet (therefore the cursor is
located at the very beginning of the box). As a result, it is not
possible anymore, to change the type of the paragraph, without having
written anything. But, in my opinion, this is a negligible and,
definitely, a much more agreeable behaviour.
Sincerely yours,
Fabian Voith