diff --git a/ChangeLog b/ChangeLog index 3279b3f76a..3c0fbc3059 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-01-25 Richard Hult + + * gdk/quartz/GdkQuartzView.c: Don't recreate a tracking rect if it + didn't change, fixes focus event issues for undecorated windows. + 2008-01-25 Richard Hult * gdk/quartz/gdkwindow-quartz.c: Fix compile warnings (add missing diff --git a/gdk/quartz/GdkQuartzView.c b/gdk/quartz/GdkQuartzView.c index 1521b16057..cabbcbe5ad 100644 --- a/gdk/quartz/GdkQuartzView.c +++ b/gdk/quartz/GdkQuartzView.c @@ -167,8 +167,22 @@ -(void)setBounds:(NSRect)bounds { + NSRect old_bounds; + gboolean changed = FALSE; + + old_bounds = [self bounds]; + if (old_bounds.origin.x != bounds.origin.x || + old_bounds.origin.y != bounds.origin.y || + old_bounds.size.width != bounds.size.width || + old_bounds.size.height != bounds.size.height) + { + changed = TRUE; + } + [super setBounds:bounds]; - [self updateTrackingRect]; + + if (changed) + [self updateTrackingRect]; } @end