Disabling RECORD by default

Keith Packard keithp at keithp.com
Mon Nov 23 15:13:05 PST 2015


Keith Packard <keithp at keithp.com> writes:

Here's a patch, which first splits out the command line and config file
options for XTEST and RECORD, and then disables RECORD by default but
leaves XTEST enabled by default.

From 2f1872f518ca7640efc42870800536f8e45c4b23 Mon Sep 17 00:00:00 2001
From: Keith Packard <keithp at keithp.com>
Date: Mon, 23 Nov 2015 14:49:33 -0800
Subject: [PATCH xserver] Allow RECORD and XTEST to be controlled separately

RECORD and XTEST were both controlled by the -tst server option and
XTEST extension selection. Split these out and then make RECORD be
disabled by default.

Signed-off-by: Keith Packard <keithp at keithp.com>
---
 hw/xquartz/X11Application.m |  8 ++++----
 include/globals.h           |  5 ++++-
 mi/miinitext.c              |  9 ++++++---
 os/utils.c                  | 20 +++++++++++++++++---
 4 files changed, 31 insertions(+), 11 deletions(-)

diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
index d2c5d30..1348480 100644
--- a/hw/xquartz/X11Application.m
+++ b/hw/xquartz/X11Application.m
@@ -82,7 +82,7 @@ static dispatch_queue_t eventTranslationQueue;
 #endif
 #endif
 
-extern Bool noTestExtensions;
+extern Bool noXTestExtension;
 extern Bool noRenderExtension;
 extern BOOL serverRunning;
 
@@ -901,7 +901,7 @@ cfarray_to_nsarray(CFArrayRef in)
     darwinDesiredDepth = [self prefs_get_integer:@PREFS_DEPTH
                           default               :darwinDesiredDepth];
 
-    noTestExtensions = ![self prefs_get_boolean:@PREFS_TEST_EXTENSIONS
+    noXTestExtension = ![self prefs_get_boolean:@PREFS_TEST_EXTENSIONS
                          default               :FALSE];
 
     noRenderExtension = ![self prefs_get_boolean:@PREFS_RENDER_EXTENSION
@@ -1592,7 +1592,7 @@ handle_mouse:
             }
         }
 
-        if (!XQuartzServerVisible && noTestExtensions) {
+        if (!XQuartzServerVisible && noXTestExtension) {
 #if defined(XPLUGIN_VERSION) && XPLUGIN_VERSION > 0
             /* Older libXplugin (Tiger/"Stock" Leopard) aren't thread safe, so we can't call xp_find_window from the Appkit thread */
             xp_window_id wid = 0;
@@ -1695,7 +1695,7 @@ handle_mouse:
         /* If we're in the background, we need to send a MotionNotify event
          * first, since we aren't getting them on background mouse motion
          */
-        if (!XQuartzServerVisible && noTestExtensions) {
+        if (!XQuartzServerVisible && noXTestExtension) {
             bgMouseLocationUpdated = FALSE;
             DarwinSendPointerEvents(darwinPointer, MotionNotify, 0,
                                     location.x, location.y,
diff --git a/include/globals.h b/include/globals.h
index 858c9a3..42f21ce 100644
--- a/include/globals.h
+++ b/include/globals.h
@@ -23,7 +23,10 @@ extern _X_EXPORT int monitorResolution;
 extern _X_EXPORT int defaultColorVisualClass;
 
 extern _X_EXPORT int GrabInProgress;
-extern _X_EXPORT Bool noTestExtensions;
+extern _X_EXPORT Bool noXTestExtension;
+#ifdef XRECORD
+extern _X_EXPORT Bool noRecordExtension;
+#endif
 extern _X_EXPORT char *SeatId;
 extern _X_EXPORT char *ConnectionInfo;
 extern _X_EXPORT sig_atomic_t inSignalContext;
diff --git a/mi/miinitext.c b/mi/miinitext.c
index 5fc44e3..a089a2c 100644
--- a/mi/miinitext.c
+++ b/mi/miinitext.c
@@ -149,6 +149,9 @@ static ExtensionToggle ExtensionToggleList[] = {
 #ifdef RANDR
     {"RANDR", &noRRExtension},
 #endif
+#ifdef XRECORD
+    {"RECORD", &noRecordExtension},
+#endif
     {"RENDER", &noRenderExtension},
 #ifdef XCSECURITY
     {"SECURITY", &noSecurityExtension},
@@ -179,7 +182,7 @@ static ExtensionToggle ExtensionToggleList[] = {
 #ifdef XSELINUX
     {"SELinux", &noSELinuxExtension},
 #endif
-    {"XTEST", &noTestExtensions},
+    {"XTEST", &noXTestExtension},
 #ifdef XV
     {"XVideo", &noXvExtension},
 #endif
@@ -245,7 +248,7 @@ static const ExtensionModule staticExtensions[] = {
 #endif
     {XInputExtensionInit, "XInputExtension", NULL},
 #ifdef XTEST
-    {XTestExtensionInit, XTestExtensionName, &noTestExtensions},
+    {XTestExtensionInit, XTestExtensionName, &noXTestExtension},
 #endif
     {BigReqExtensionInit, "BIG-REQUESTS", NULL},
     {SyncExtensionInit, "SYNC", NULL},
@@ -285,7 +288,7 @@ static const ExtensionModule staticExtensions[] = {
     {DbeExtensionInit, "DOUBLE-BUFFER", &noDbeExtension},
 #endif
 #ifdef XRECORD
-    {RecordExtensionInit, "RECORD", &noTestExtensions},
+    {RecordExtensionInit, "RECORD", &noRecordExtension},
 #endif
 #ifdef DPMSExtension
     {DPMSExtensionInit, DPMSExtensionName, &noDPMSExtension},
diff --git a/os/utils.c b/os/utils.c
index c4d013b..a285622 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -122,7 +122,11 @@ __stdcall unsigned long GetTickCount(void);
 
 #include "picture.h"
 
-Bool noTestExtensions;
+Bool noXTestExtension;
+
+#ifdef XRECORD
+Bool noRecordExtension = TRUE;
+#endif
 
 #ifdef COMPOSITE
 Bool noCompositeExtension = FALSE;
@@ -567,6 +571,10 @@ UseMsg(void)
     ErrorF("-nopn                  reject failure to listen on all ports\n");
     ErrorF("-r                     turns off auto-repeat\n");
     ErrorF("r                      turns on auto-repeat \n");
+#ifdef XRECORD
+    ErrorF("+record                enable RECORD extension\n");
+    ErrorF("-record                disable RECORD extension\n");
+#endif
     ErrorF("-render [default|mono|gray|color] set render color alloc policy\n");
     ErrorF("-retro                 start with classic stipple and cursor\n");
     ErrorF("-s #                   screen-saver timeout (minutes)\n");
@@ -574,7 +582,7 @@ UseMsg(void)
     ErrorF("-t #                   default pointer threshold (pixels/t)\n");
     ErrorF("-terminate             terminate at server reset\n");
     ErrorF("-to #                  connection time out\n");
-    ErrorF("-tst                   disable testing extensions\n");
+    ErrorF("-tst                   disable XTEST extension\n");
     ErrorF("ttyxx                  server started from init on /dev/ttyxx\n");
     ErrorF("v                      video blanking for screen-saver\n");
     ErrorF("-v                     screen-saver without video blanking\n");
@@ -916,6 +924,12 @@ ProcessCommandLine(int argc, char *argv[])
             defaultKeyboardControl.autoRepeat = TRUE;
         else if (strcmp(argv[i], "-r") == 0)
             defaultKeyboardControl.autoRepeat = FALSE;
+#ifdef XRECORD
+        else if (strcmp(argv[i], "-record") == 0)
+            noRecordExtension = TRUE;
+        else if (strcmp(argv[i], "+record") == 0)
+            noRecordExtension = FALSE;
+#endif
         else if (strcmp(argv[i], "-retro") == 0)
             party_like_its_1989 = TRUE;
         else if (strcmp(argv[i], "-s") == 0) {
@@ -947,7 +961,7 @@ ProcessCommandLine(int argc, char *argv[])
                 UseMsg();
         }
         else if (strcmp(argv[i], "-tst") == 0) {
-            noTestExtensions = TRUE;
+            noXTestExtension = TRUE;
         }
         else if (strcmp(argv[i], "v") == 0)
             defaultScreenSaverBlanking = PreferBlanking;
-- 
2.6.1



-- 
-keith
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 810 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20151123/de4b4251/attachment.sig>


More information about the xorg-devel mailing list