mirror of
https://github.com/brl/mutter.git
synced 2025-06-14 01:09:30 +00:00
frames: Remove frame border pixel caching and related optimizations
Since we now cache windows in the X server, we don't really need to cache them here. Since we are redirecting windows in most cases, we're not gaining anything except added memory usage. Additionally, remove the clip to screen optimization - if a window is partially off-screen, we still need to draw the entire thing as redirection means we won't get an expose event for it. Additionally, when introducing invisible borders, something accidentally slipped through: we were getting expose events on the invisible borders, and they weren't in the cached pixels rect, so we were painting the theme for them, even if we didn't actually paint anything with cairo. Make sure to clip out the invisible borders instead of just the client rect so that we don't draw if our expose event is on the invisible borders. https://bugzilla.gnome.org/show_bug.cgi?id=675111
This commit is contained in:
@ -97,10 +97,6 @@ struct _MetaFrames
|
||||
|
||||
GtkStyleContext *normal_style;
|
||||
GHashTable *style_variants;
|
||||
|
||||
int invalidate_cache_timeout_id;
|
||||
GList *invalidate_frames;
|
||||
GHashTable *cache;
|
||||
};
|
||||
|
||||
struct _MetaFramesClass
|
||||
|
Reference in New Issue
Block a user