Q7

Perspective switch dialog does not work on mac os x

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 1.1
  • Fix Version/s: 1.1.6
  • Component/s: Runtime
  • Labels:
    None

Description

Looks like dialog is too tricky to be properly handled

Issue Links

Activity

Hide
komaz added a comment - 26/Jan/12 7:54 PM

Issue investigated but not yet fixed – problem is in reflection fill of model properties. On Mac OS X Lion the perspective switch dialog cannot have toolbar. However Shell.getToolBar() contains a lazy initializer inside, calling it produces the following error:
2012-01-26 20:53:15.257 java[84778:407] ERROR: Can't have a toolbar in a window with <NSNextStepFrame: 0x7fb8e9191ec0> as it's borderview

Show
komaz added a comment - 26/Jan/12 7:54 PM Issue investigated but not yet fixed – problem is in reflection fill of model properties. On Mac OS X Lion the perspective switch dialog cannot have toolbar. However Shell.getToolBar() contains a lazy initializer inside, calling it produces the following error: 2012-01-26 20:53:15.257 java[84778:407] ERROR: Can't have a toolbar in a window with <NSNextStepFrame: 0x7fb8e9191ec0> as it's borderview
Hide
komaz added a comment - 26/Jan/12 8:28 PM

The naive fix looks like this:

diff --git a/runtime/tesla/com.xored.tesla.swt/src/com/xored/tesla/swt/reflection/JavaMembersHelper.java b/runtime/tesla/com.xored.tesla.swt/src/com/xored/tesla/swt/reflection/JavaMembersHelper.java
index 73d3d4a..eba7c9e 100644
— a/runtime/tesla/com.xored.tesla.swt/src/com/xored/tesla/swt/reflection/JavaMembersHelper.java
+++ b/runtime/tesla/com.xored.tesla.swt/src/com/xored/tesla/swt/reflection/JavaMembersHelper.java
@@ -42,6 +42,7 @@ public class JavaMembersHelper { excludedMethods.add("getMonitor"); //$NON-NLS-1$ excludedMethods.add("isDisposed"); //$NON-NLS-1$ excludedMethods.add("hashCode"); //$NON-NLS-1$ + excludedMethods.add("getToolBar"); //$NON-NLS-1$ }

public static String getPropertyValue(Object object, String nodePath)

However I strongly dislike it since current filtering approach probably is not powerful enough, when adding exclusives we need to take declaring class into account, otherwise some user who have "getMonitor" method in their business object can be very surprised

Show
komaz added a comment - 26/Jan/12 8:28 PM The naive fix looks like this: diff --git a/runtime/tesla/com.xored.tesla.swt/src/com/xored/tesla/swt/reflection/JavaMembersHelper.java b/runtime/tesla/com.xored.tesla.swt/src/com/xored/tesla/swt/reflection/JavaMembersHelper.java index 73d3d4a..eba7c9e 100644 — a/runtime/tesla/com.xored.tesla.swt/src/com/xored/tesla/swt/reflection/JavaMembersHelper.java +++ b/runtime/tesla/com.xored.tesla.swt/src/com/xored/tesla/swt/reflection/JavaMembersHelper.java @@ -42,6 +42,7 @@ public class JavaMembersHelper { excludedMethods.add("getMonitor"); //$NON-NLS-1$ excludedMethods.add("isDisposed"); //$NON-NLS-1$ excludedMethods.add("hashCode"); //$NON-NLS-1$ + excludedMethods.add("getToolBar"); //$NON-NLS-1$ } public static String getPropertyValue(Object object, String nodePath) However I strongly dislike it since current filtering approach probably is not powerful enough, when adding exclusives we need to take declaring class into account, otherwise some user who have "getMonitor" method in their business object can be very surprised

People

  • Assignee:
    komaz
    Reporter:
    komaz
Vote (0)
Watch (0)

Dates

  • Created:
    16/Jan/12 11:42 PM
    Updated:
    02/Feb/12 11:48 AM
    Resolved:
    27/Jan/12 1:32 PM