andlabs / andlabs/libui

A Julia binding and a crash on second call.

Aperta
#75 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C
Stelle
10.9k
Fork
612
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.