andlabs / andlabs/libui

A Julia binding and a crash on second call.

Open
#75 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
10.9k
Forks
612
PR merge metrics
No merged PRs in 30d

Description

Hi, on Windows10 64 here

I made a quick [wrapper ](https://github.com/joa-quim/Libui.jl) of libui to Julia and ported the `controlgallery` example as well a very stripped down example that looks almost like in C

```
o = Libui.uiInitOptions(0);
err = uiInit(Ref(o));
menu = uiNewMenu("File");

item = uiMenuAppendItem(menu, "Item");
item = uiMenuAppendQuitItem(menu);
mainwin = uiNewWindow("Window", 640, 480, 1);
uiWindowOnClosing(mainwin, cfunction(onClosing, Ptr{Void}, (Ptr{uiWindow},)), C_NULL);
uiControlShow(convert(Ptr{uiControl}, mainwin));
uiMain();
uiUninit();
```

The thing is that this works on first call but crashes on second. I than built a libui debug version and caught the crash inside debug.cpp/realbug() at the end of that function.

Don't know what made it crash but noticed that the `msg` variable in that function has this content

```
Some data was leaked; either you left a uiControl lying around or there's a bug in libui itself. Leaked data:
00000000001FE340 char[]
```

Ah, and the crash seams to be triggered by the `menu = uiNewMenu("File");` command. If I comment it above than no crash.
Note that when we run it via Julia any eventual leaks/conflicts left over from first call are potentially left visible in posteriors calls, but the same is probably true for other language bindings.

Joaquim

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.