qemacs-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemacs-commit] qemacs x11.c qe.c


From: Charlie Gordon
Subject: [Qemacs-commit] qemacs x11.c qe.c
Date: Fri, 28 Apr 2017 17:46:01 -0400 (EDT)

CVSROOT:        /sources/qemacs
Module name:    qemacs
Changes by:     Charlie Gordon <chqrlie>        17/04/28 17:46:01

Modified files:
        .              : x11.c qe.c 

Log message:
        display: fix graphics cursor in process buffer
        - force cursor minimum width at end of line

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/x11.c?cvsroot=qemacs&r1=1.51&r2=1.52
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.277&r2=1.278

Patches:
Index: x11.c
===================================================================
RCS file: /sources/qemacs/qemacs/x11.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -b -r1.51 -r1.52
--- x11.c       18 Apr 2017 09:14:55 -0000      1.51
+++ x11.c       28 Apr 2017 21:46:01 -0000      1.52
@@ -527,9 +527,9 @@
                                   int x1, int y1, int w, int h, QEColor color)
 {
     X11State *xs = s->priv_data;
-    int fg;
+    unsigned long fg;
 
-    fg = WhitePixel(xs->display, xs->xscreen);
+    fg = get_x11_color(xs, QE_RGB(255, 255, 255));
     XSetForeground(xs->display, xs->gc, fg);
     XSetFunction(xs->display, xs->gc, GXxor);
     XFillRectangle(xs->display, xs->dbuffer, xs->gc, x1, y1, w, h);

Index: qe.c
===================================================================
RCS file: /sources/qemacs/qemacs/qe.c,v
retrieving revision 1.277
retrieving revision 1.278
diff -u -b -r1.277 -r1.278
--- qe.c        25 Apr 2017 17:41:27 -0000      1.277
+++ qe.c        28 Apr 2017 21:46:01 -0000      1.278
@@ -993,7 +993,7 @@
     int offsetc;
     DirType basec; /* direction of the line */
     DirType dirc; /* direction of the char under the cursor */
-    int cursor_width; /* can be negative depending on char orientation */
+    int cursor_width;
     int cursor_height;
 } CursorContext;
 
@@ -1004,9 +1004,13 @@
     CursorContext *m = ds->cursor_opaque;
 
     if (m->offsetc >= offset1 && m->offsetc < offset2) {
-        if (w < 0) {  /* for RTL glyphs */
+        if (w <= 0) {  /* for RTL glyphs */
             x += w;
             w = -w;
+            if (w == 0) {
+                /* for end of line */
+                w = ds->space_width;
+            }
         }
         m->xc = x;
         m->yc = y;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]