}
try {
changeVariables(source, owner, m);
-
- // Special-case of closing browser-level windows:
- // track browser-windows currently open in client
- if (owner instanceof Window
- && ((Window) owner).getParent() == null) {
- final Boolean close = (Boolean) m.get("close");
- if (close != null && close.booleanValue()) {
- closingWindowName = ((Window) owner).getName();
- }
- }
} catch (Exception e) {
+ Component errorComponent = null;
if (owner instanceof Component) {
- handleChangeVariablesError(app, (Component) owner, e, m);
- } else {
- // TODO DragDropService error handling
- throw new RuntimeException(e);
+ errorComponent = (Component) owner;
+ } else if (owner instanceof DragAndDropService) {
+ if (m.get("dhowner") instanceof Component) {
+ errorComponent = (Component) m.get("dhowner");
+ }
}
+
+ handleChangeVariablesError(app, errorComponent, e, m);
}
} else {