Comment 82 for bug 195929

Revision history for this message
In , Frnchfrgg (frnchfrgg) wrote :

Yes, the theme sets the style property, but a theme setting this property and using an engine which gives garbled output when the bg isn't prefilled deserves to look broken in Firefox, IHMO.

And a normal GtkEntry doesn't need the background filled by the engine, it is the other way around: a normal GtkEntry fills the background (ok it's not explicitely filled, it's the inner widget default bg) before calling the engine... Some engines, like thinice, expect that and look broken if it isn't done, whereas some others (like Clearlooks) don't, since they fill with the base color the parts they need to be filled, without caring about the widget being already filled or not.

But I understand what you want to say: when there is a normal GtkEntry, themes with rounded corners need to draw the dialog color onto the base color to simulate rounded corners, and that part can be skipped if the engine knows that the bg hasn't really been filled... So then (and only then), the engine doesn't draw those pixels (or doesn't fill the widget with the dialog color), and thus can have really transparent rounded corners.

In short: an engine can hint a GtkEntry painter (Gecko/safari or vanilla GTK, I don't know of others, but why not) that it can cope with, and would prefer non-prefilled GtkEntries, but it needs to know if the hint has been obeyed to know if it needs to "pseudo-undo" the prefilling to get round corners.

Am I right ?