[BRLTTY] Cut and paste creates clipboard bugs
Samuel Thibault
samuel.thibault at ens-lyon.org
Tue Nov 3 17:36:33 EST 2020
Could you try the attached patch?
Samuel
-------------- next part --------------
diff --git a/Drivers/Screen/AtSpi2/a2_screen.c b/Drivers/Screen/AtSpi2/a2_screen.c
index 8fb6a9291..259f73311 100644
--- a/Drivers/Screen/AtSpi2/a2_screen.c
+++ b/Drivers/Screen/AtSpi2/a2_screen.c
@@ -72,9 +72,10 @@
typedef enum {
PARM_RELEASE,
- PARM_TYPE
+ PARM_TYPE,
+ PARM_XSEL,
} ScreenParameters;
-#define SCRPARMS "release", "type"
+#define SCRPARMS "release", "type", "xsel"
#include "scr_driver.h"
@@ -87,6 +88,7 @@ typedef enum {
static unsigned int releaseScreen;
static unsigned char typeFlags[TYPE_COUNT];
+static unsigned int xSel;
static char *curSender;
static char *curPath;
@@ -312,6 +314,17 @@ processParameters_AtSpi2Screen (char **parameters) {
}
}
+ xSel = 0;
+ {
+ const char *parameter = parameters[PARM_XSEL];
+
+ if (*parameter) {
+ if (!validateYesNo(&xSel, parameter)) {
+ logMessage(LOG_WARNING, "invalid xsel screen setting: %s", parameter);
+ }
+ }
+ }
+
return 1;
}
@@ -1451,12 +1464,14 @@ construct_AtSpi2Screen (void) {
dbus_connection_set_timeout_functions(bus, a2AddTimeout, a2RemoveTimeout, a2TimeoutToggled, NULL, NULL);
#ifdef HAVE_PKG_X11
- dpy = XOpenDisplay(NULL);
- if (dpy) {
- XSelInit(dpy, &xselData);
- XFlush(dpy);
- asyncMonitorFileInput(&a2XWatch, XConnectionNumber(dpy), a2ProcessX, NULL);
- coreSelUpdatedListener = registerReportListener(REPORT_API_PARAMETER_UPDATED, a2CoreSelUpdated , NULL);
+ if (xSel) {
+ dpy = XOpenDisplay(NULL);
+ if (dpy) {
+ XSelInit(dpy, &xselData);
+ XFlush(dpy);
+ asyncMonitorFileInput(&a2XWatch, XConnectionNumber(dpy), a2ProcessX, NULL);
+ coreSelUpdatedListener = registerReportListener(REPORT_API_PARAMETER_UPDATED, a2CoreSelUpdated , NULL);
+ }
}
#endif /* HAVE_PKG_X11 */
More information about the BRLTTY
mailing list