Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
fix regression by selecting clipboard text
[st.git]
/
x.c
diff --git
a/x.c
b/x.c
index
d43a529
..
c343ba2
100644
(file)
--- a/
x.c
+++ b/
x.c
@@
-245,8
+245,8
@@
clipcopy(const Arg *dummy)
{
Atom clipboard;
{
Atom clipboard;
- if (xsel.clipboard != NULL)
-
free(xsel.clipboard)
;
+ free(xsel.clipboard);
+
xsel.clipboard = NULL
;
if (xsel.primary != NULL) {
xsel.clipboard = xstrdup(xsel.primary);
if (xsel.primary != NULL) {
xsel.clipboard = xstrdup(xsel.primary);
@@
-618,6
+618,9
@@
selrequest(XEvent *e)
void
setsel(char *str, Time t)
{
void
setsel(char *str, Time t)
{
+ if (!str)
+ return;
+
free(xsel.primary);
xsel.primary = str;
free(xsel.primary);
xsel.primary = str;
@@
-1492,7
+1495,7
@@
void
xsettitle(char *p)
{
XTextProperty prop;
xsettitle(char *p)
{
XTextProperty prop;
- DEFAULT(p,
"st"
);
+ DEFAULT(p,
opt_title
);
Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle,
&prop);
Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle,
&prop);
@@
-1929,12
+1932,12
@@
main(int argc, char *argv[])
} ARGEND;
run:
} ARGEND;
run:
- if (argc > 0) {
- /* eat all remaining arguments */
+ if (argc > 0) /* eat all remaining arguments */
opt_cmd = argv;
opt_cmd = argv;
- if (!opt_title && !opt_line)
- opt_title = basename(xstrdup(argv[0]));
- }
+
+ if (!opt_title)
+ opt_title = (opt_line || !opt_cmd) ? "st" : opt_cmd[0];
+
setlocale(LC_CTYPE, "");
XSetLocaleModifiers("");
cols = MAX(cols, 1);
setlocale(LC_CTYPE, "");
XSetLocaleModifiers("");
cols = MAX(cols, 1);