]> source.dussan.org Git - tigervnc.git/commitdiff
Make vncRandRGetOutputId return the actual id; not a pointer
authorPeter Åstrand (astrand) <astrand@cendio.se>
Wed, 7 Mar 2018 07:21:42 +0000 (08:21 +0100)
committerPeter Åstrand (astrand) <astrand@cendio.se>
Mon, 9 Apr 2018 08:04:12 +0000 (10:04 +0200)
Less confusing, and compatible with libXrandr.

unix/xserver/hw/vnc/XorgGlue.c
unix/xserver/hw/vnc/XorgGlue.h
unix/xserver/hw/vnc/XserverDesktop.cc
unix/xserver/hw/vnc/XserverDesktop.h

index 141023a86dee1df4ec57772faae795c30239a868..baeac29dce9c6eddba7beb6bdafdc65e7f7c8262 100644 (file)
@@ -290,11 +290,11 @@ int vncRandRDisableOutput(int scrIdx, int outputIdx)
 #endif
 }
 
-intptr_t vncRandRGetOutputId(int scrIdx, int outputIdx)
+unsigned int vncRandRGetOutputId(int scrIdx, int outputIdx)
 {
 #ifdef RANDR
   rrScrPrivPtr rp = rrGetScrPriv(screenInfo.screens[scrIdx]);
-  return (intptr_t)rp->outputs[outputIdx];
+  return rp->outputs[outputIdx]->id;
 #else
   return 0;
 #endif
index 63227ac3583f4e7ca8f381f773f9c58f497a34d4..dc78f5ebe8c915ce3ec531e728f480fc1546d3df 100644 (file)
@@ -65,7 +65,7 @@ int vncRandRDisableOutput(int scrIdx, int outputIdx);
 int vncRandRReconfigureOutput(int scrIdx, int outputIdx, int x, int y,
                               int width, int height);
 
-intptr_t vncRandRGetOutputId(int scrIdx, int outputIdx);
+unsigned int vncRandRGetOutputId(int scrIdx, int outputIdx);
 void vncRandRGetOutputDimensions(int scrIdx, int outputIdx,
                                  int *x, int *y, int *width, int *height);
 
index 6a428908b4dab5af2b9b2c05811d2c5c89b5096b..c47f507a13d42f488f30c93ba1aac0f24eaf49d4 100644 (file)
@@ -201,7 +201,7 @@ ScreenSet XserverDesktop::computeScreenLayout()
   OutputIdMap newIdMap;
 
   for (int i = 0;i < vncRandRGetOutputCount(screenIndex);i++) {
-    intptr_t outputId;
+    unsigned int outputId;
     int x, y, width, height;
 
     /* Disabled? */
@@ -654,7 +654,7 @@ unsigned int XserverDesktop::setScreenLayout(int fb_width, int fb_height,
 
   /* Next, reconfigure all known outputs, and turn off the other ones */
   for (int i = 0;i < vncRandRGetOutputCount(screenIndex);i++) {
-    intptr_t output;
+    unsigned int output;
 
     ScreenSet::const_iterator iter;
 
@@ -702,7 +702,7 @@ unsigned int XserverDesktop::setScreenLayout(int fb_width, int fb_height,
   ScreenSet::const_iterator iter;
   for (iter = layout.begin();iter != layout.end();++iter) {
     OutputIdMap::const_iterator oi;
-    intptr_t output;
+    unsigned int output;
     int i;
 
     /* Does this screen have an output already? */
index 2a378ea15e855ecea6d20297939d7c15e6b8dff1..b611402a265c6decd7ee2550f602e5dd4ab8a7a7 100644 (file)
@@ -133,7 +133,7 @@ private:
   rfb::Timer queryConnectTimer;
 
 #ifdef RANDR
-  typedef std::map<intptr_t, rdr::U32> OutputIdMap;
+  typedef std::map<unsigned int, rdr::U32> OutputIdMap;
   OutputIdMap outputIdMap;
 #endif