summaryrefslogtreecommitdiff
path: root/med.c
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2024-07-13 10:02:00 +0000
committerrodri <rgl@antares-labs.eu>2024-07-13 10:02:00 +0000
commitf9b1182580fd66857a4a0cc11a328f9856f6039c (patch)
treee5eac6f72420fbbe09dfdf9f08b75808f79919c1 /med.c
parentfe76590b8d9e7ff1b23a5b4ada446e8540c8a602 (diff)
download3dee-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.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/med.c b/med.c
index c4c0797..d8379af 100644
--- a/med.c
+++ b/med.c
@@ -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();