PreviousNextTracker indexSee it online !

(209/308) 1642 - FastOpen + MyDoggy: issues with dockable actions.

FastOpen behaves differently between my two environments. On my Window box, if I have nothing selected and hit my shortcut for FastOpen, it opens the dialog and gives focus to the filename box, just like I would expect. On my Linux box, if nothing is selected, nothing happens. No dialog pops up. Both machines work the same and correctly if a word is selected in the buffer, the dialog pops up if the name is ambiguous with the selected word in the filename, or it directly opens the file if the selected word is an unambiguous filename.

Both boxes are using latest FastOpen from plugin manager.

Here's the not working Linux config:
jEdit 5.0pre2 daily from 02-July-12
7:02:40 AM \[main\] \[message\] Log: java.version=1.7.0_05
7:02:40 AM \[main\] \[message\] Log: java.vm.version=23.1-b03
7:02:40 AM \[main\] \[message\] Log: java.vm.name=Java HotSpot(TM) 64-Bit Server VM
7:02:40 AM \[main\] \[message\] Log: java.runtime.version=1.7.0_05-b06
7:02:40 AM \[main\] \[message\] Log: java.runtime.name=Java(TM) SE Runtime Environment
7:02:40 AM \[main\] \[message\] Log: java.vendor=Oracle Corporation
7:02:40 AM \[main\] \[message\] Log: java.compiler=null
7:02:40 AM \[main\] \[message\] Log: os.name=Linux
7:02:40 AM \[main\] \[message\] Log: os.version=2.6.18-238.el5
7:02:40 AM \[main\] \[message\] Log: os.arch=amd64
...
7:02:41 AM \[AWT-EventQueue-0\] \[debug\] EditBus: PluginUpdate\[what=LOADED,exit=false,version=2.5,source=/ln/home/snarum/.jedit/jars/FastOpen.jar,class=com.patelsoft.fastopen.FastOpenPlugin\]


And here is the working Windows version:
jEdit 5.0pre1 downloaded 10-July-12 (I don't think it was a daily)
8:03:12 AM \[main\] \[message\] Log: java.version=1.7.0_05
8:03:12 AM \[main\] \[message\] Log: java.vm.version=23.1-b03
8:03:12 AM \[main\] \[message\] Log: java.vm.name=Java HotSpot(TM) Client VM
8:03:12 AM \[main\] \[message\] Log: java.runtime.version=1.7.0_05-b06
8:03:12 AM \[main\] \[message\] Log: java.runtime.name=Java(TM) SE Runtime Environment
8:03:12 AM \[main\] \[message\] Log: java.vendor=Oracle Corporation
8:03:12 AM \[main\] \[message\] Log: java.compiler=null
8:03:12 AM \[main\] \[message\] Log: os.name=Windows 7
8:03:12 AM \[main\] \[message\] Log: os.version=6.1
8:03:12 AM \[main\] \[message\] Log: os.arch=x86
...
8:03:13 AM \[AWT-EventQueue-0\] \[debug\] EditBus: PluginUpdate\[what=LOADED,exit=false,version=2.5,source=C:\Users\snarum\AppData\Roaming\jEdit\jars\FastOpen.jar,class=com.patelsoft.fastopen.FastOpenPlugin\]

Submitted snarum-micron - 2012-08-22 14:16:10 Assigned
Priority 5 Labels
Status open Group None
Resolution None

Comments

2012-08-22 14:29:40
snarum-micron

Interestingly, after filing the report, the Windows box is now doing the same as the Linux box... nothing. This definitely worked a moment ago, even after I sent this report, but now is not.

2012-08-22 15:14:47
ezust

Is your shortcut for fastopen bound to the show-dockable action or the "show fast open dialog"?

2012-08-22 15:21:01
ezust

Whatever action it is currently bound to, try binding your shortcut to the other (dockable vs dialog) and see if you have the same problem.

2012-08-22 17:46:42
snarum-micron

On both machines, by shortcut was pointing to 'Fast Open'. I changed it to "Show Fast Open Dialog" and it now works repeatedly. I see four total things when I filter on 'fast' in the shortcut options dialog:
Fast Open (<== bug reported on this one)
Fast Open (new floating instance)
Fast Open (toggle)
Show Fast Open Dialog (<== seems to work with this one)

Perhaps it is just me that is confused as to the need for four, and how they differ.

2012-08-22 18:05:47
ezust

I can not reproduce your issue on linux or windows with java 1.6.
I normally use the "Fast Open" action that brings a dockable (not a dialog).
Which means FastOpen can be docked or floating, just like any other dockable.
Anyway, the first 3 are for controlling the dockable version of FastOpen, and the last one is for opening a dialog, which is not dockable. Which one you use depends on your preference. I like the dockable version.
Jiger likes the dialog.

2012-08-22 18:25:20
snarum-micron

OK, some more data is probably appropriate then. My original problem was using the dockable version with the dockable floating. I did not try it docked. I just tried it now, by switching my shortcut back to 'Fast Open', and selecting the FastOpen to be docked Top. Now when I hit my keystroke, the Fast Open dialog pops up ever time. Note, I did not say that the dockable opens, I said the dialog pops up, floating. The usual buttons across the top when you have a floating dockable are not present. Dragging it into a docking area does not work. Etc.

That brings up one more point, I am using MyDoggy for docking. I just turned it off, with no change in behavior.

Nothing changed this until I reloaded FastOpen using Activator plugin. Once I did, the dockable immediately appeared docked at the top like I told it to. It seems to work this way (other than being docked, which I don't like.) I then put it back to floating and the problem immediately reappeared (no reload of fast open required.)

2012-08-22 18:47:05
ezust

- **summary**: FastOpen: no dialog if nothing selected --> FastOpen + MyDoggy: issues with dockable actions.

2012-08-22 18:47:05
ezust

I can't reproduce any of your problems if I am not using MyDoggy. Are you sure you see no difference?
I am going to change the subject to indicate this is a FastOpen+MyDoggy issue.
Did you really restart jEdit after selecting classic dockables to verify that you really are not using MyDoggy and \*really\* have the same problems?

I just tried opening the FastOpen Dockable in mydoggy, it was initially floating. Then I tried to dock it to the top.
Then I invoked the FastOpen action again and got this stacktrace below.

I don't think this is the same bug you had, but it does demonstrate that all is not right with MyDoggy + FastOpen.


java.lang.RuntimeException: java.lang.NullPointerException
at org.noos.xing.mydoggy.plaf.persistence.xml.XMLPersistenceDelegate.saveInternal(XMLPersistenceDelegate.java:150)
at org.noos.xing.mydoggy.plaf.persistence.xml.XMLPersistenceDelegate.save(XMLPersistenceDelegate.java:79)
at org.noos.xing.mydoggy.plaf.MyDoggyToolWindowBar.setToolsVisible(MyDoggyToolWindowBar.java:184)
at myDoggy.MyDoggyWindowManager.closeCurrentArea(MyDoggyWindowManager.java:159)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.gjt.sp.jedit.bsh.Reflect.invokeMethod(Reflect.java:134)
at org.gjt.sp.jedit.bsh.Reflect.invokeObjectMethod(Reflect.java:80)
at org.gjt.sp.jedit.bsh.Name.invokeMethod(Name.java:855)
at org.gjt.sp.jedit.bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:75)
at org.gjt.sp.jedit.bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
at org.gjt.sp.jedit.bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
at org.gjt.sp.jedit.bsh.BSHBlock.evalBlock(BSHBlock.java:130)
at org.gjt.sp.jedit.bsh.BSHBlock.eval(BSHBlock.java:80)
at org.gjt.sp.jedit.bsh.BshMethod.invokeImpl(BshMethod.java:362)
at org.gjt.sp.jedit.bsh.BshMethod.invoke(BshMethod.java:258)
at org.gjt.sp.jedit.bsh.BshMethod.invoke(BshMethod.java:186)
at org.gjt.sp.jedit.BeanShellFacade.runCachedBlock(BeanShellFacade.java:225)
at org.gjt.sp.jedit.BeanShell.runCachedBlock(BeanShell.java:423)
at org.gjt.sp.jedit.BeanShellAction.invoke(BeanShellAction.java:73)
at org.gjt.sp.jedit.gui.InputHandler.invokeAction(InputHandler.java:342)
at org.gjt.sp.jedit.gui.InputHandler.invokeAction(InputHandler.java:307)
at org.gjt.sp.jedit.gui.DefaultInputHandler.handleKey(DefaultInputHandler.java:196)
at org.gjt.sp.jedit.input.AbstractInputHandler.processKeyEventKeyStrokeHandling(AbstractInputHandler.java:401)
at org.gjt.sp.jedit.gui.InputHandler.processKeyEvent(InputHandler.java:151)
at org.gjt.sp.jedit.textarea.TextArea.processKeyEvent(TextArea.java:4721)
at java.awt.Component.processEvent(Component.java:6045)
at java.awt.Container.processEvent(Container.java:2045)
at java.awt.Component.dispatchEventImpl(Component.java:4629)
at java.awt.Container.dispatchEventImpl(Container.java:2103)
at java.awt.Component.dispatchEvent(Component.java:4455)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1860)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:759)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1035)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:902)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:724)
at java.awt.Component.dispatchEventImpl(Component.java:4499)
at java.awt.Container.dispatchEventImpl(Container.java:2103)
at java.awt.Window.dispatchEventImpl(Window.java:2517)
at java.awt.Component.dispatchEvent(Component.java:4455)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
at java.awt.EventQueue.access$000(EventQueue.java:96)
at java.awt.EventQueue$1.run(EventQueue.java:608)
at java.awt.EventQueue$1.run(EventQueue.java:606)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
at java.awt.EventQueue$2.run(EventQueue.java:622)
at java.awt.EventQueue$2.run(EventQueue.java:620)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Caused by: java.lang.NullPointerException
at org.noos.xing.mydoggy.plaf.ui.cmp.FloatingFrame.getDockableCount(FloatingFrame.java:274)
at org.noos.xing.mydoggy.plaf.persistence.xml.XMLPersistenceDelegate.storeMultiSplitWindow(XMLPersistenceDelegate.java:194)
at org.noos.xing.mydoggy.plaf.persistence.xml.XMLPersistenceDelegate$ToolWindowManagerElementWriter.write(XMLPersistenceDelegate.java:262)
at org.noos.xing.mydoggy.plaf.persistence.xml.XMLPersistenceDelegate$ToolWindowManagerElementWriter.write(XMLPersistenceDelegate.java:225)
at org.noos.xing.mydoggy.plaf.persistence.xml.XMLPersistenceDelegate.saveInternal(XMLPersistenceDelegate.java:146)
... 59 more

2012-08-22 18:55:27
ezust

Another interesting problem with FastOpen+MyDoggy : if I have 2 views open, and I select "FastOpen", nothing happens from one of the Views. I can only open the dockable from one of the views. The Dialog action works fine though.

2012-08-22 19:19:46
snarum-micron

OK, when I reported before that I had disabled MyDoggy, I did so by changing the selection in the Options->Docking dialog to Original. I did not restart. I just restarted with the setting to Original, verified using Activator that MyDoggy is not loaded, and I cannot reproduce the issue.