diff options
author | rodri <rgl@antares-labs.eu> | 2024-07-13 10:02:00 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-07-13 10:02:00 +0000 |
commit | f9b1182580fd66857a4a0cc11a328f9856f6039c (patch) | |
tree | e5eac6f72420fbbe09dfdf9f08b75808f79919c1 /med.c | |
parent | fe76590b8d9e7ff1b23a5b4ada446e8540c8a602 (diff) | |
download | 3dee-f9b1182580fd66857a4a0cc11a328f9856f6039c.tar.gz 3dee-f9b1182580fd66857a4a0cc11a328f9856f6039c.tar.bz2 3dee-f9b1182580fd66857a4a0cc11a328f9856f6039c.zip |
get rid of redundant draw lock and adapt to libgraphics changes.
Diffstat (limited to 'med.c')
-rw-r--r-- | med.c | 22 |
1 files changed, 10 insertions, 12 deletions
@@ -76,7 +76,6 @@ Entity *subject; Model *model; Shadertab *shader; QLock scenelk; -QLock drawlk; Mouse om; Quaternion orient = {1,0,0,0}; @@ -219,7 +218,7 @@ addbasis(void) Primitive prims[3]; m = newmodel(); - e = newentity(m); + e = newentity("basis", m); e->RFrame3 = subject->RFrame3; memset(prims, 0, sizeof prims); @@ -508,11 +507,10 @@ drawproc(void *) { threadsetname("drawproc"); - for(;;) - if(recv(drawc, nil) && canqlock(&drawlk)){ - redraw(); - qunlock(&drawlk); - } + for(;;){ + recv(drawc, nil); + redraw(); + } } void @@ -552,7 +550,7 @@ mmb(void) }; static Menu menu = { .item = items }; - qlock(&drawlk); + lockdisplay(display); switch(menuhit(2, mctl, &menu, _screen)){ case TSNEAREST: tsampler = neartexsampler; @@ -563,7 +561,7 @@ mmb(void) case QUIT: threadexitsall(nil); } - qunlock(&drawlk); + unlockdisplay(display); nbsend(drawc, nil); } @@ -591,7 +589,7 @@ rmb(void) static Menu menu = { .gen = genrmbmenuitem }; int idx; - qlock(&drawlk); + lockdisplay(display); idx = menuhit(3, mctl, &menu, _screen); if(idx < 0) goto nohit; @@ -606,7 +604,7 @@ rmb(void) break; } nohit: - qunlock(&drawlk); + unlockdisplay(display); nbsend(drawc, nil); } @@ -783,7 +781,7 @@ threadmain(int argc, char *argv[]) scene = newscene(nil); model = newmodel(); - subject = newentity(model); + subject = newentity("main", model); scene->addent(scene, subject); addbasis(); |