Xinqi Bao's Git
projects
/
st.git
/ commitdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
patch
|
inline
| side by side (from parent 1:
3ce96ae
)
Dbe is not required anymore.
author
Christoph Lohmann <
[email protected]
>
Sat, 19 Jan 2013 08:13:52 +0000
(09:13 +0100)
committer
Christoph Lohmann <
[email protected]
>
Sat, 19 Jan 2013 08:13:52 +0000
(09:13 +0100)
st.c
patch
|
blob
|
history
diff --git
a/st.c
b/st.c
index
0ea51d9
..
979fdc8
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-203,7
+203,7
@@
typedef struct {
Display *dpy;
Colourmap cmap;
Window win;
Display *dpy;
Colourmap cmap;
Window win;
-
XdbeBackBuffer
buf;
+
Drawable
buf;
Atom xembed, wmdeletewin;
XIM xim;
XIC xic;
Atom xembed, wmdeletewin;
XIM xim;
XIC xic;
@@
-414,6
+414,8
@@
static char *opt_embed = NULL;
static char *opt_class = NULL;
static char *opt_font = NULL;
static char *opt_class = NULL;
static char *opt_font = NULL;
+bool usedbe = False;
+
static char *usedfont = NULL;
static int usedfontsize = 0;
static char *usedfont = NULL;
static int usedfontsize = 0;
@@
-2500,7
+2502,8
@@
xinit(void) {
| ButtonMotionMask | ButtonPressMask | ButtonReleaseMask;
attrs.colormap = xw.cmap;
| ButtonMotionMask | ButtonPressMask | ButtonReleaseMask;
attrs.colormap = xw.cmap;
- parent = opt_embed ? strtol(opt_embed, NULL, 0) : XRootWindow(xw.dpy, xw.scr);
+ parent = opt_embed ? strtol(opt_embed, NULL, 0) : \
+ XRootWindow(xw.dpy, xw.scr);
xw.win = XCreateWindow(xw.dpy, parent, xw.fx, xw.fy,
xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput,
xw.vis,
xw.win = XCreateWindow(xw.dpy, parent, xw.fx, xw.fy,
xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput,
xw.vis,
@@
-2509,12
+2512,16
@@
xinit(void) {
&attrs);
/* double buffering */
&attrs);
/* double buffering */
- if(!XdbeQueryExtension(xw.dpy, &major, &minor))
- die("Xdbe extension is not present\n");
- xw.buf = XdbeAllocateBackBufferName(xw.dpy, xw.win, XdbeBackground);
+ if(XdbeQueryExtension(xw.dpy, &major, &minor)) {
+ xw.buf = XdbeAllocateBackBufferName(xw.dpy, xw.win,
+ XdbeBackground);
+ usedbe = True;
+ } else {
+ xw.buf = xw.win;
+ }
/* Xft rendering context */
/* Xft rendering context */
- xw.draw = XftDrawCreate(xw.dpy, xw.
buf
, xw.vis, xw.cmap);
+ xw.draw = XftDrawCreate(xw.dpy, xw.
win
, xw.vis, xw.cmap);
/* input methods */
if((xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NULL) {
/* input methods */
if((xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NULL) {
@@
-2822,7
+2829,8
@@
draw(void) {
XdbeSwapInfo swpinfo[1] = {{xw.win, XdbeCopied}};
drawregion(0, 0, term.col, term.row);
XdbeSwapInfo swpinfo[1] = {{xw.win, XdbeCopied}};
drawregion(0, 0, term.col, term.row);
- XdbeSwapBuffers(xw.dpy, swpinfo, 1);
+ if(usedbe)
+ XdbeSwapBuffers(xw.dpy, swpinfo, 1);
}
void
}
void