[gtk+] [broadway] Don't cache surface.transientToplevel as that might change at various times
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] [broadway] Don't cache surface.transientToplevel as that might change at various times
- Date: Tue, 12 Apr 2011 09:13:28 +0000 (UTC)
commit 4c575ac343bda41f2c3705a91812412a3d1c4d0b
Author: Alexander Larsson <alexl redhat com>
Date: Mon Apr 11 16:42:02 2011 +0200
[broadway] Don't cache surface.transientToplevel as that might change at various times
gdk/broadway/broadway.js | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
---
diff --git a/gdk/broadway/broadway.js b/gdk/broadway/broadway.js
index 844d015..5fe61c9 100644
--- a/gdk/broadway/broadway.js
+++ b/gdk/broadway/broadway.js
@@ -267,8 +267,9 @@ function updateBrowserWindowGeometry(win) {
surface.height = innerH;
sendInput ("w", [surface.id, surface.x, surface.y, surface.width, surface.height]);
for (id in surfaces) {
- if (surfaces[id].transientToplevel != null && surfaces[id].transientToplevel == surface) {
- var childSurface = surfaces[id];
+ var childSurface = surfaces[id];
+ var transientToplevel = getTransientToplevel(childSurface);
+ if (transientToplevel != null && transientToplevel == surface) {
childSurface.x += surface.x - oldX;
childSurface.y += surface.y - oldY;
sendInput ("w", [childSurface.id, childSurface.x, childSurface.y, childSurface.width, childSurface.height]);
@@ -282,9 +283,9 @@ function browserWindowClosed(win) {
sendInput ("W", [surface.id]);
for (id in surfaces) {
- if (surfaces[id].transientToplevel != null &&
- surfaces[id].transientToplevel == surface) {
- var childSurface = surfaces[id];
+ var childSurface = surfaces[id];
+ var transientToplevel = getTransientToplevel(childSurface);
+ if (transientToplevel != null && transientToplevel == surface) {
sendInput ("W", [childSurface.id]);
}
}
@@ -315,7 +316,7 @@ function getTransientToplevel(surface)
{
while (surface.transientParent != 0) {
surface = surfaces[surface.transientParent];
- if (surface.window)
+ if (surface && surface.window)
return surface;
}
return null;
@@ -372,7 +373,6 @@ function cmdCreateSurface(id, x, y, width, height, isTemp)
surface.visible = false;
surface.window = null;
surface.document = document;
- surface.transientToplevel = null;
surface.frame = null;
var canvas = document.createElement("canvas");
@@ -461,11 +461,11 @@ function cmdShowSurface(id)
xOffset = 0;
yOffset = 0;
} else {
- surface.transientToplevel = getTransientToplevel(surface);
- if (surface.transientToplevel) {
- doc = surface.transientToplevel.window.document;
- xOffset = surface.x - surface.transientToplevel.x;
- yOffset = surface.y - surface.transientToplevel.y;
+ var transientToplevel = getTransientToplevel(surface);
+ if (transientToplevel) {
+ doc = transientToplevel.window.document;
+ xOffset = surface.x - transientToplevel.x;
+ yOffset = surface.y - transientToplevel.y;
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]