]> git.lizzy.rs Git - plan9front.git/commitdiff
mothra: fix a few errors in previous patch
authorqwx <devnull@localhost>
Sun, 26 Apr 2020 17:43:10 +0000 (19:43 +0200)
committerqwx <devnull@localhost>
Sun, 26 Apr 2020 17:43:10 +0000 (19:43 +0200)
- nil check pl_blue allocation, and don't do it every time pl_rtdraw is called
- fix re-adding previously removed flushimage calls
- correct format for pointer
- sysfatal in pl_drawinit on error

sys/src/cmd/mothra/libpanel/draw.c
sys/src/cmd/mothra/libpanel/event.c
sys/src/cmd/mothra/libpanel/panel.h
sys/src/cmd/mothra/libpanel/popup.c
sys/src/cmd/mothra/libpanel/rtext.c
sys/src/cmd/mothra/libpanel/textwin.c

index 8ea2b7dcf60de2bdf29dc3b78484d7f6b132c71d..5f51eb86d13d894f822471d2fe2d887d24b2bde6 100644 (file)
@@ -15,6 +15,7 @@
 #define        CKBORDER 2      /* space around X inside frame */
 static int plldepth;
 static Image *pl_white, *pl_light, *pl_dark, *pl_black, *pl_hilit;
+Image *pl_blue;
 int pl_drawinit(int ldepth){
        plldepth=ldepth;
        /* mono */
@@ -23,7 +24,8 @@ int pl_drawinit(int ldepth){
        pl_dark=allocimage(display, Rect(0,0,1,1), screen->chan, 1, 0x555555FF);
        pl_black=allocimage(display, Rect(0,0,1,1), screen->chan, 1, 0x000000FF);
        pl_hilit=allocimage(display, Rect(0,0,1,1), CHAN1(CAlpha,8), 1, 0x80);
-       if(pl_white==0 || pl_light==0 || pl_black==0 || pl_dark==0) return 0;
+       pl_blue=allocimage(display, Rect(0,0,1,1), RGB24, 1, 0x0000FFFF);
+       if(pl_white==0 || pl_light==0 || pl_black==0 || pl_dark==0 || pl_blue==0) sysfatal("allocimage: %r");
        return 1;
 }
 void pl_relief(Image *b, Image *ul, Image *lr, Rectangle r, int wid){
index 08dbf6bd1500987f5a6017ce92c03be845098805..4a9355d581b59fc4f9175001593d7b02d4844944 100644 (file)
@@ -9,10 +9,8 @@ void plgrabkb(Panel *g){
        plkbfocus=g;
 }
 void plkeyboard(Rune c){
-       if(plkbfocus){
+       if(plkbfocus)
                plkbfocus->type(plkbfocus, c);
-               flushimage(display, 1);
-       }
 }
 
 /*
@@ -47,5 +45,4 @@ void plmouse(Panel *g, Mouse *m){
                        g->flags&=~REMOUSE;
                g->lastmouse=hit;
        }
-       flushimage(display, 1);
 }
index 3d73a81bd42b43cc346ca3a59c5501b7336b8d8b..8a7c487e1388d38c1b1470f50eb1fb83fc0d5d00 100644 (file)
@@ -109,6 +109,8 @@ struct Panel{
 
 Panel *plkbfocus;                      /* the panel in keyboard focus */
 
+extern Image *pl_blue;
+
 int plinit(int);                       /* initialization */
 void plpack(Panel *, Rectangle);       /* figure out where to put the Panel & children */
 void plmove(Panel *, Point);           /* move an already-packed panel to a new location */
index a3007bbb839fa8ba711baa88c8466fee0f476d57..ea3bde177933591692629495026a09e8afc1338c 100644 (file)
@@ -65,7 +65,6 @@ int pl_hitpopup(Panel *g, Mouse *m){
                        if(g->state!=DOWN){
                                if(pp->save!=0){
                                        draw(g->b, p->r, pp->save, 0, p->r.min);
-                                       flushimage(display, 1);
                                        freeimage(pp->save);
                                        pp->save=0;
                                }
index 658831f8e47dcc76196d4154414f5fb86b6f4665..192c4354f4a01c307090d86487c68777a29360df 100644 (file)
@@ -175,9 +175,7 @@ void pl_rtdraw(Image *b, Rectangle r, Rtext *t, Point offs){
        Point lp, sp;
        Rectangle dr;
        Image *bb;
-       Image *pl_blue;
 
-       pl_blue=allocimage(display, Rect(0,0,1,1), RGB24, 1, 0x0000FFFF);
        bb = b;
        if(backup==0 || backup->chan!=b->chan || rectinrect(r, backup->r)==0){
                freeimage(backup);
index f999867aaf585036cf33be67c0042d1ccd96aa72..bb00eff0d00525f345c2057834b20ad33c24b1e8 100644 (file)
@@ -136,7 +136,7 @@ void tw_draw(Textwin *t, int first, int last){
        er=t->text+last;
        for(r=t->text+first,lp=t->loc+(first-t->top);r!=er;r++,lp++){
                if(lp->y+t->hgt>t->r.max.y){
-                       fprint(2, "chr %C, index %lld of %d, loc %d %d, off bottom\n",
+                       fprint(2, "chr %C, index %zd of %d, loc %d %d, off bottom\n",
                                *r, lp-t->loc, t->bot-t->top, lp->x, lp->y);
                        return;
                }