summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2011-09-01 12:17:26 -0400
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2015-01-19 15:19:31 +0200
commita23ec34765d3dbee02dd07637d64df547a962844 (patch)
tree300178646f2495bc2f59a156166f3e9b35a5165c
parentfa57c8e57c205f8cbb9ade920a178a316d22f598 (diff)
downloadmetacity-a23ec34765d3dbee02dd07637d64df547a962844.tar.gz
Disable top resizing for attached modal dialogs, for real this time
https://bugzilla.gnome.org/show_bug.cgi?id=657795 With this fix applied: https://git.gnome.org/browse/mutter/commit/?id=00e49b330c413dae96ba16b3ce2a1a6962b0f0df
-rw-r--r--src/ui/frames.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/ui/frames.c b/src/ui/frames.c
index b4a5e2c3..c31e2e2f 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -2742,6 +2742,7 @@ get_control (MetaFrames *frames,
MetaFrameFlags flags;
MetaFrameType type;
gboolean has_vert, has_horiz;
+ gboolean has_north_resize;
GdkRectangle client;
meta_frames_calc_geometry (frames, frame, &fgeom);
@@ -2767,12 +2768,13 @@ get_control (MetaFrames *frames,
META_CORE_GET_FRAME_TYPE, &type,
META_CORE_GET_END);
+ has_north_resize = (type != META_FRAME_TYPE_ATTACHED);
has_vert = (flags & META_FRAME_ALLOWS_VERTICAL_RESIZE) != 0;
has_horiz = (flags & META_FRAME_ALLOWS_HORIZONTAL_RESIZE) != 0;
if (POINT_IN_RECT (x, y, fgeom.title_rect))
{
- if (has_vert && y <= TOP_RESIZE_HEIGHT && (type != META_FRAME_TYPE_ATTACHED))
+ if (has_vert && y <= TOP_RESIZE_HEIGHT && has_north_resize)
return META_FRAME_CONTROL_RESIZE_N;
else
return META_FRAME_CONTROL_TITLE;
@@ -2841,7 +2843,7 @@ get_control (MetaFrames *frames,
return META_FRAME_CONTROL_RESIZE_W;
}
else if (y < (fgeom.borders.invisible.top + RESIZE_EXTENDS) &&
- x <= (fgeom.borders.total.left + RESIZE_EXTENDS))
+ x <= (fgeom.borders.total.left + RESIZE_EXTENDS) && has_north_resize)
{
if (has_vert && has_horiz)
return META_FRAME_CONTROL_RESIZE_NW;
@@ -2851,7 +2853,7 @@ get_control (MetaFrames *frames,
return META_FRAME_CONTROL_RESIZE_W;
}
else if (y < (fgeom.borders.invisible.top + RESIZE_EXTENDS) &&
- x >= (fgeom.width - fgeom.borders.total.right - RESIZE_EXTENDS))
+ x >= (fgeom.width - fgeom.borders.total.right - RESIZE_EXTENDS) && has_north_resize)
{
if (has_vert && has_horiz)
return META_FRAME_CONTROL_RESIZE_NE;
@@ -2862,7 +2864,7 @@ get_control (MetaFrames *frames,
}
else if (y < (fgeom.borders.invisible.top + TOP_RESIZE_HEIGHT))
{
- if (has_vert)
+ if (has_vert && has_north_resize)
return META_FRAME_CONTROL_RESIZE_N;
}
else if (y >= (fgeom.height - fgeom.borders.total.bottom - RESIZE_EXTENDS))