Skip to content

Map basic objects like NSRect #7

Open
@mojo2012

Description

@mojo2012

I'm trying to show a simple empty window on screen - but right now I'm totally stuck calling NSWindow.initWithContentRect:styleMask:backing:defer:. I think the problem is my NSRect implementation:

public class NSRect extends Structure implements Structure.ByValue {
    public NSPoint origin;
    public NSSize size;

    ...

    @Override
	protected List<String> getFieldOrder() {
		return Arrays.asList("origin", "size");
	}
}

I have no clue what goes wrong here, but this is the stack:

2019-06-02 22:03:22.641 java[53279:2512944] *** +[WLJavaProxy restorableStateKeyPaths]: unrecognized selector sent to class 0x1143803b8
2019-06-02 22:03:22.645 java[53279:2512944] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** +[WLJavaProxy restorableStateKeyPaths]: unrecognized selector sent to class 0x1143803b8'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff41da9cfd __exceptionPreprocess + 256
	1   libobjc.A.dylib                     0x00007fff6c44fa17 objc_exception_throw + 48
	2   Foundation                          0x00007fff44123639 +[NSProxy init] + 0
	3   CoreFoundation                      0x00007fff41d4bb8f ___forwarding___ + 1485
	4   CoreFoundation                      0x00007fff41d4b538 _CF_forwarding_prep_0 + 120
	5   AppKit                              0x00007fff3f3629e8 -[NSResponder(NSPersistentUISupport) _changePersistentKeyPathObservationTo:] + 48
	6   jna17962736570655425700.tmp         0x000000011443de74 ffi_call_unix64 + 76
	7   ???                                 0x00007ffee8311758 0x0 + 140732793952088
)
libc++abi.dylib: terminating with uncaught exception of type NSException

It would be nice to have basic types already mapped!

Furthermore, it would be awesome to have better logging in case something goes wrong, like what are the selector arguments that were passed (on the objc-side).

Thanks for any help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions