← Back to team overview

ubuntu-multiseat team mailing list archive

Xephyr patch fixes

 

Hi Laércio,

I updated the xorg-server package today to include the changes made in
upstream 2:1.15.1-0ubuntu2.1 (in trusty-proposed).  As long as I was
making changes, I refreshed the Xephyr patches from your v2 series to
your v3 series [1] and noticed some problems.  Attached are the changes
I made to your patches.

I saw that Keith Packard reviewed your v3 patches but they haven't made
it into master yet.  Maybe he forgot about them.  Feel like taking a
look at the attached fixes and submitting a v4 reroll to refresh his memory?

[1] http://thread.gmane.org/gmane.comp.freedesktop.xorg.devel/41699

Thanks,
Richard
diff --git a/debian/patches/ubuntu-multiseat_Xephyr_allow_starting_window_at_other_than_0_0_location.patch b/debian/patches/ubuntu-multiseat_Xephyr_allow_starting_window_at_other_than_0_0_location.patch
index f8b0b74..19ec1ff 100644
--- a/debian/patches/ubuntu-multiseat_Xephyr_allow_starting_window_at_other_than_0_0_location.patch
+++ b/debian/patches/ubuntu-multiseat_Xephyr_allow_starting_window_at_other_than_0_0_location.patch
@@ -152,12 +152,20 @@
 index fac84cd..09036d1 100644
 --- a/hw/kdrive/ephyr/ephyrinit.c
 +++ b/hw/kdrive/ephyr/ephyrinit.c
-@@ -173,8 +173,10 @@ processScreenArg(const char *screen_size, char *parent_id)
+@@ -164,6 +164,7 @@
+     if (card) {
+         KdScreenInfo *screen;
+         unsigned long p_id = 0;
++        Bool use_geometry;
+ 
+         screen = KdScreenInfoAdd(card);
+         KdParseScreen(screen, screen_size);
+@@ -174,8 +175,10 @@
          if (parent_id) {
              p_id = strtol(parent_id, NULL, 0);
          }
 +
-+        Bool use_geometry = (strchr(screen_size, '+') != NULL);
++        use_geometry = (strchr(screen_size, '+') != NULL);
          EPHYR_DBG("screen number:%d\n", screen->mynum);
 -        hostx_add_screen(screen, p_id, screen->mynum);
 +        hostx_add_screen(screen, p_id, screen->mynum, use_geometry);
diff --git a/debian/patches/ubuntu-multiseat_Xephyr_set_screen_size_and_origin_from_host_X_server_output_geometry.patch b/debian/patches/ubuntu-multiseat_Xephyr_set_screen_size_and_origin_from_host_X_server_output_geometry.patch
index d0f78ff..e44bdb4 100644
--- a/debian/patches/ubuntu-multiseat_Xephyr_set_screen_size_and_origin_from_host_X_server_output_geometry.patch
+++ b/debian/patches/ubuntu-multiseat_Xephyr_set_screen_size_and_origin_from_host_X_server_output_geometry.patch
@@ -73,7 +73,7 @@
 +    int win_x, win_y;
      int win_width, win_height;
      int server_depth;
-+    char *output;               /* Set via -output option */
++    const char *output;         /* Set via -output option */
      unsigned char *fb_data;     /* only used when host bpp != server bpp */
      xcb_shm_segment_info_t shminfo;
  
@@ -85,7 +85,7 @@
  extern KdKeyboardDriver LinuxEvdevKeyboardDriver;
  #endif
  
-+void processScreenOrOutputArg(const char *screen_size, char *output, char *parent_id);
++void processScreenOrOutputArg(const char *screen_size, const char *output, char *parent_id);
 +void processOutputArg(const char *output, char *parent_id);
  void processScreenArg(const char *screen_size, char *parent_id);
  
@@ -109,7 +109,7 @@
  
 @@ -176,13 +179,25 @@ processScreenArg(const char *screen_size, char *parent_id)
  
-         Bool use_geometry = (strchr(screen_size, '+') != NULL);
+         use_geometry = (strchr(screen_size, '+') != NULL);
          EPHYR_DBG("screen number:%d\n", screen->mynum);
 -        hostx_add_screen(screen, p_id, screen->mynum, use_geometry);
 +        hostx_add_screen(screen, p_id, screen->mynum, use_geometry, output);
@@ -126,7 +126,7 @@
 +}
 +
 +void
-+processOutputArg(char *output, char *parent_id)
++processOutputArg(const char *output, char *parent_id)
 +{
 +    processScreenOrOutputArg("100x100+0+0", output, parent_id);
 +}
@@ -200,7 +200,7 @@
  }
  
  void
-+hostx_get_output_geometry(char *output,
++hostx_get_output_geometry(const char *output,
 +                          int *x, int *y,
 +                          unsigned int *width, unsigned int *height)
 +{
@@ -369,7 +369,7 @@
   hostx_use_sw_cursor(void);
  
  void
-+ hostx_get_output_geometry(char *output,
++ hostx_get_output_geometry(const char *output,
 +                           int *x, int *y,
 +                           unsigned int *width, unsigned int *height);
 +

Follow ups