I found that the appearance bug reappeared in vermillion-devel 90, and
disabling mediaLib had no affect on things.  So my previous patch
to workaround the problem just hid the issue in vermillion-devel 89.

Doing further research, it turns out that the problem was caused
by the metacity-08-trusted-extensions.diff file not setting
fgeom->height when TSOL isn't being used.

Since the affected patch is huge, and the change is small, I'll just
explain my change rather than showing a diff file.

I changed this hunk of the patch:

----

@@ -621,8 +626,16 @@
      fgeom->top_height + fgeom->bottom_height;

    fgeom->width = width;
+#ifdef BUILD_TX_CODE
+#ifdef HAVE_XTSOL
+  if (tsol_is_available ())
+    fgeom->height = height + fgeom->top_height; /*Trusted Frame Layout 
Modifica
tion TFLM*/
+  else
    fgeom->height = height;
-
+#else
+  fgeom->height = height;
+#endif
+#endif
    fgeom->top_titlebar_edge = layout->title_border.top;
    fgeom->bottom_titlebar_edge = layout->title_border.bottom;
    fgeom->left_titlebar_edge = layout->left_titlebar_edge;

----

Note that fgeom->height never gets set if BUILD_TX_CODE is not TRUE.

So I changed it to the following code, which always sets fgeom->height
to height, and then resets it to the appropriate TSOL value if the
#defines and if-test pass.  I think this code is a bit more simple
than dealing with so many embedded #else statements.

----

@@ -622,7 +627,12 @@ meta_frame_layout_calc_geometry (const M

    fgeom->width = width;
    fgeom->height = height;
-
+#ifdef BUILD_TX_CODE
+#ifdef HAVE_XTSOL
+  if (tsol_is_available ())
+    fgeom->height = height + fgeom->top_height; /*Trusted Frame Layout 
Modifica
tion TFLM*/
+#endif
+#endif
    fgeom->top_titlebar_edge = layout->title_border.top;
    fgeom->bottom_titlebar_edge = layout->title_border.bottom;
    fgeom->left_titlebar_edge = layout->left_titlebar_edge;



---

Brian

Reply via email to