[MacPorts] #49465: xorg-server @1.17.2_0: XQuartz 2.7.7 on Snow Leopard, Mac OS X 10.6.8, produces defects

MacPorts noreply at macports.org
Wed Nov 25 13:53:10 PST 2015


#49465: xorg-server @1.17.2_0: XQuartz 2.7.7 on Snow Leopard, Mac OS X 10.6.8,
produces defects
------------------------------+------------------------
  Reporter:  Peter_Dyballa@…  |      Owner:  jeremyhu@…
      Type:  defect           |     Status:  new
  Priority:  Normal           |  Milestone:
 Component:  ports            |    Version:  2.3.4
Resolution:                   |   Keywords:
      Port:  xorg-server      |
------------------------------+------------------------

Comment (by Peter_Dyballa@…):

 Replying to [comment:14 jeremyhu@…]:
 > You can apply a .diff to the end to get the raw patch:
 >
 > https://github.com/XQuartz/xorg-
 server/commit/596efccbd9fa0a4b6c5ea64fc1f2e11a42c17e01.diff
 >
 For hunk 3 I need some help. The old code could have been:

 {{{
 @@ -574,6 +589,18 @@
      else {
          PixmapPtr pixmap;

          tile_x_off = drawable->x;
          tile_y_off = drawable->y;
 }}}

 which is now:

 {{{
     else {
         PixmapPtr pixmap;

         fill = pWin->border;
         solid = pWin->borderIsPixel;

         /* servers without pixmaps draw their own borders */
         if (!pScreen->GetWindowPixmap)
             return;
         pixmap = (*pScreen->GetWindowPixmap) ((WindowPtr) drawable);
         drawable = &pixmap->drawable;

         while (pWin->backgroundState == ParentRelative)
             pWin = pWin->parent;

         tile_x_off = pWin->drawable.x;
         tile_y_off = pWin->drawable.y;
 }}}

 Can the patch

 {{{
 +#ifdef ROOTLESS
 +       if(IsFramedWindow(pWin)) {
 +           RootlessStartDrawing(pWin);
 +           RootlessDamageRegion(pWin, prgn);
 +
 +           if(!pWin->borderIsPixel &&
 +               pWin->backgroundState == ParentRelative) {
 +               RootlessSetPixmapOfAncestors(pWin);
 +           }
 +       }
 +#endif
 +
 }}}

 be installed before the newly added code, i.e., after the else clause?
 Similarly for hunk 4. The old code could have been:

 {{{
 @@ -582,6 +609,12 @@
              return;
          pixmap = (*pScreen->GetWindowPixmap) ((WindowPtr) drawable);
          drawable = &pixmap->drawable;
 #ifdef COMPOSITE
          draw_x_off = pixmap->screen_x;
          draw_y_off = pixmap->screen_y;
 }}}

 which is now:

 {{{
             return;
         pixmap = (*pScreen->GetWindowPixmap) ((WindowPtr) drawable);
         drawable = &pixmap->drawable;

         while (pWin->backgroundState == ParentRelative)
             pWin = pWin->parent;

         tile_x_off = pWin->drawable.x;
         tile_y_off = pWin->drawable.y;

 #ifdef COMPOSITE
         draw_x_off = pixmap->screen_x;
         draw_y_off = pixmap->screen_y;

 }}}

 I think the patch

 {{{
 +
 +#ifdef XQUARTZ_CLIP_DEBUG
 +        ErrorF("     Draw: %d %d %d %d\n",
 +               drawable->x, drawable->y, drawable->width,
 drawable->height);
 +#endif
 +
 }}}

 can safely be installed before the newly added code, i.e., the while loop,
 it's just for debugging means.

-- 
Ticket URL: <https://trac.macports.org/ticket/49465#comment:15>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list