Open
Description
Repro steps:
- git clone https://github.com/AndrewBelt/osdialog
- Add this to the Makefile:
> dylib: osdialog.o osdialog_mac.o
> $(CC) $(CFLAGS) -dynamiclib -undefined suppress -flat_namespace $(LDFLAGS) osdialog.o osdialog_mac.o -o osdialog.dylib
- Run
make ARCH=mac dylib
- Run the following .dart program:
import 'dart:ffi' as ffi;
// char *osdialog_file(osdialog_file_action action, const char *path,
// const char *filename, osdialog_filters *filters);
typedef OSDialogFileC = ffi.Pointer Function(
ffi.Int32, ffi.Pointer, ffi.Pointer, ffi.Pointer);
typedef OSDialogFileDart = ffi.Pointer Function(
int, ffi.Pointer, ffi.Pointer, ffi.Pointer);
main() {
final dylib = ffi.DynamicLibrary.open('osdialog.dylib');
final OSDialogFileDart osdialog = dylib
.lookup<ffi.NativeFunction<OSDialogFileC>>('osdialog_file')
.asFunction();
osdialog(0, ffi.nullptr, ffi.nullptr, ffi.nullptr);
}
Result:
2019-09-11 10:33:32.334 dart[49968:894229] WARNING: NSWindow drag regions should only be invalidated on the Main Thread! This will throw an exception in the future. Called from (
0 AppKit 0x00007fff29deb607 -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 378
1 AppKit 0x00007fff29de89f7 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1479
2 AppKit 0x00007fff29ea7d95 -[NSPanel _initContent:styleMask:backing:defer:contentView:] + 50
3 AppKit 0x00007fff29de842a -[NSWindow initWithContentRect:styleMask:backing:defer:] + 45
4 AppKit 0x00007fff29ea7d4a -[NSPanel initWithContentRect:styleMask:backing:defer:] + 64
5 AppKit 0x00007fff2a4bf4f5 -[NSSavePanel initWithContentRect:styleMask:backing:defer:] + 592
6 AppKit 0x00007fff2a0b9dec +[NSSavePanel _crunchyRawUnbonedPanel] + 550
7 osdialog.dylib 0x00000001084567bc osdialog_file + 124
8 ??? 0x00000001087c41ee 0x0 + 4437328366
9 ??? 0x00000001094acd03 0x0 + 4450864387
)
...