Hi there,

        Firstly - nice work - this looks promising, and sorry for the delay,
things have been busy today with the 3.3.0 release.

On Mon, 2011-01-24 at 19:39 +0100, xapantu wrote:
> I have just made a patch to fix some glitch with GTK+:
> (see this bug: https://bugs.freedesktop.org//show_bug.cgi?id=32186)

        Soo ... :-) I had a few comments / queries.

> - Fix menubar root items (they was disabled, but they work well :) )

        Interesting; it might be nice to capture the type that is, we already
have a:

        ((nType == CTRL_MENUBAR) &&
                (   (nPart==PART_ENTIRE_CONTROL) )              )   ||

        in IsNativeControlSupported, can we just add another nPart to it, as in
the other options ?

> - Don't draw anything when a disabled menu is hovered:
>         They was drawn using the native GUI engine, which provided bad
>         integration. GTK+ just don't react when we move the cursor on
>         disabled menu items (at least, on most themes), so, we just draw
>         nothing now. (and if we should, drawing nothing for disabled
>         menu is better than draw a bad integration for a menu *which is
>         not used*). 

        Right; so - this was a fix for a crasher [ incidentally we should
prolly dig out similar obsolete fixes in this code ]. Since it affects
only the 5 year old Fedora Core 4 (that we know) with crux theme - I
added a check like this:

@@ -2731,9 +2731,10 @@ BOOL GtkSalGraphics::NWPaintGTKPopupMenu(
             const OUString& )
 {
     // #i50745# gtk does not draw disabled menu entries (and crux theme
-    // even crashes), draw them using vcl functionality.
-    if( nPart == PART_MENU_ITEM && ! (nState & CTRL_STATE_ENABLED) )
-        return FALSE;
+    // even crashes) in very old (Fedora Core 4 vintage) gtk's
+    if (gtk_major_version <= 2 && gtk_minor_version <= 8 &&
+        nPart == PART_MENU_ITEM && ! (nState & CTRL_STATE_ENABLED) )
+        return TRUE;
 
        Hopefully it does what we want and mitigates the risk :-)

> - Fix background of GtkEntry/GtkSpinButton:
>         gtk_paint_flat_box was used, just replace it by gtk_paint_box.
>         gtk_paint_flat_box just draws a… flat rectangle, but the
>         background can be rounded. So, on dark theme it could caused
>         some glitchs (see screenshot).

        That is fine.

> - Fix GtkButton/GtkSpinButton background (and maybe some others
> widget) :
>         In the code, we redrew the background before drawing the
>         widgets, because they could be transparent, but it wasn't the
>         good style for the background (widgets background instead of
>         window background).

        Hmm, that makes some sense - but it still concerns me ;-) I hope you
know what you're doing.

> This patch belongs to the libs-gui branch, vcl module.

        I've pushed it - thanks so much ! if you're in that neck of the woods -
do you test with larger theme font sizes ? :-) (cf. my attached
toolbar ).

        Also - I assume your changes are under the LGPLv3+/MPL combination we
recommend - can you confirm that ! oh, and if you could close the bug
that'd be great too :-)

        Looking forward to seeing what you get up to next,

        Many thanks !

                Michael.

-- 
 michael.me...@novell.com  <><, Pseudo Engineer, itinerant idiot

<<attachment: annoying.png>>

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to