Browse Source

x0vncserver does not support SetDesktopSize; remove -AcceptSetDesktopSize

Add a Configuration::removeParam to support such cases.
tags/v1.8.90
Peter Åstrand (astrand) 6 years ago
parent
commit
0a0e582597
3 changed files with 27 additions and 0 deletions
  1. 18
    0
      common/rfb/Configuration.cxx
  2. 6
    0
      common/rfb/Configuration.h
  3. 3
    0
      unix/x0vncserver/x0vncserver.cxx

+ 18
- 0
common/rfb/Configuration.cxx View File

@@ -1,5 +1,6 @@
/* Copyright (C) 2002-2005 RealVNC Ltd. All Rights Reserved.
* Copyright 2004-2005 Cendio AB.
* Copyright 2017 Peter Astrand <astrand@cendio.se> for Cendio AB
*
* This is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -166,6 +167,23 @@ void Configuration::list(int width, int nameWidth) {
}


bool Configuration::remove(const char* param) {
VoidParameter *current = head;
VoidParameter **prevnext = &head;

while (current) {
if (strcasecmp(current->getName(), param) == 0) {
*prevnext = current->_next;
return true;
}
prevnext = &current->_next;
current = current->_next;
}

return false;
}


// -=- VoidParameter

VoidParameter::VoidParameter(const char* name_, const char* desc_,

+ 6
- 0
common/rfb/Configuration.h View File

@@ -80,6 +80,9 @@ namespace rfb {
// - List the parameters of this Configuration group
void list(int width=79, int nameWidth=10);

// - Remove a parameter from this Configuration group
bool remove(const char* param);

// - readFromFile
// Read configuration parameters from the specified file.
void readFromFile(const char* filename);
@@ -116,6 +119,9 @@ namespace rfb {
static void listParams(int width=79, int nameWidth=10) {
global()->list(width, nameWidth);
}
static bool removeParam(const char* param) {
return global()->remove(param);
}

private:
friend class VoidParameter;

+ 3
- 0
unix/x0vncserver/x0vncserver.cxx View File

@@ -258,6 +258,9 @@ int main(int argc, char** argv)

Configuration::enableServerParams();

// Disable configuration parameters which we do not support
Configuration::removeParam("AcceptSetDesktopSize");

for (int i = 1; i < argc; i++) {
if (Configuration::setParam(argv[i]))
continue;

Loading…
Cancel
Save