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