[BUG-11355] Can't add any components to Perspective Designer

I’m check out Ignition 8, but I am unable to add any components to a perspective view. Whenever I click on a component and drag it to the view I just get a error mouse symbol.

Also if I start up Designer I can add components to vision windows but once I try to add anything to a perspective view I then can’t add anything to vision windows as well. I just get the same error mouse symbol.

OS: KDE Neon, based on Ubuntu 18.04
Java: OpenJDK 1.8
Intel Graphics

I think we're tracking this already as FB11355, so I'm going to add that to the title.

Unfortunately the fix appears to be blocked on a complex bug in the JxBrowser library. Note from the vendor:

Latest update from Team Dev on 5/9:

​Dear Joel,

Unfortunately, the issue appeared to be more complex than we expected. We are not able to implement Drag&Drop on Linux in a heavyweight mode as we do it on macOS and Windows due to some restrictions of embedding a native window from one process to another on Linux itself.

To my regret, the approach we used to make an improved Drag&Drop did not work and we are out of options at the moment. We plan to come back to this issue after the official release of JxBrowser 7.0.

I will let you know once I have any updates regarding this issue.

Thank you for understanding.

That it breaks Vision afterwards may be something we can address sooner, though...

Thanks for the quick reply. If there’s any other information I can provide to help fix the bug just let me know.

Just as a note, drag & drop is non-functional on Linux but you can continue to add components to your views by clicking the component in the component menu then clicking again in the view. It’s not an ideal workaround, but if you don’t have another operating system available to design on it’s the only way right now.

1 Like

Awesome thanks. I’m just trying out 8 so that works just fine.

1 Like

Has there been any further progress on this. Seems like Symbol Factory and Image Management do not work in Perspective Designer on Linux. I can’t seem to find any workaround.

I am also having this issue. I cannot use symbol factory within Ignition Perspective on Ubuntu since i cannot drag and drop. Other components from the component pallet are manageable by clicking on them and then on the view, however symbol factory will not work.

Is there any work around on Linux?

The work around is ok for components but how do we go about adding our SVG files to Perspective using Linux? I can import SVG files using Image Management but no way to embed so I can access SVG elements. Also, all tag drag and drop functions are not possible which is a much bigger issue.

Has there been any update from Team Dev on this issue?

1 Like

We’re working on upgrading the JXBrowser library used by the Designer to a newer version which should supposedly resolve these drag-and-drop issues, but the changes are still going through code review and then they’ll need to go through testing. 8.0.11 is the most likely release to contain this fix, assuming everything goes well.

It looks like unfortunately this is a limitation of XDnD on linux, and will not be resolved with the new version of JxBrowser. We are currently looking into workarounds so that the all functionality that uses drag-n-drop has alternatives in order to ensure that the linux designer is fully functional.

I’m using version 8.0.16 and it appears this bug still exists.

The JXBrowser upgrade is part of 8.1.0. If it has any effect on fixing this issue you will see it there.

not tested?

I don’t know if it’s been through QA or not, but it seems to work for me after a quick test.

1 Like

Running into a similar issue where I can’t drag n drop SVG’s on Mac but guessing it is a different bug/security issue with Mac OS. Below is the error I get in the designer. Designer/gateway running on the same machine: Mac OS 10.15.2. Ignition 8.1.0 rc2.

java.lang.NullPointerException
	at com.teamdev.jxbrowser.view.swing.internal.dnd.DragAndDropHelper$DropListener.updateDragOperation(DragAndDropHelper.java:243)
	at com.teamdev.jxbrowser.view.swing.internal.dnd.DragAndDropHelper$DropListener.dragOver(DragAndDropHelper.java:272)
	at java.desktop/java.awt.dnd.DropTarget.dragOver(Unknown Source)
	at java.desktop/sun.awt.dnd.SunDropTargetContextPeer.processMotionMessage(Unknown Source)
	at java.desktop/sun.lwawt.macosx.CDropTargetContextPeer.processMotionMessage(Unknown Source)
	at java.desktop/sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchMotionEvent(Unknown Source)
	at java.desktop/sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(Unknown Source)
	at java.desktop/sun.awt.dnd.SunDropTargetEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.processDropTargetEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Are you dragging an external SVG or one from Symbol Factory?

External (from Finder on Mac). I should add that this is for Perspective.

Thanks, opened a ticket to look into this.

1 Like

Thanks! I double checked and I can add the same SVG, via drag n drop, to Vision without issue. Only getting an error in Perspective.