[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29300] trunk/blender/source/blender/ editors/screen/screen_ops.c: Fix [#22494] Operator panel vanishes
Matt Ebb
matt at mke3.net
Mon Jun 7 08:50:56 CEST 2010
Revision: 29300
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29300
Author: broken
Date: 2010-06-07 08:50:56 +0200 (Mon, 07 Jun 2010)
Log Message:
-----------
Fix [#22494] Operator panel vanishes
Modified Paths:
--------------
trunk/blender/source/blender/editors/screen/screen_ops.c
Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c 2010-06-07 05:45:30 UTC (rev 29299)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c 2010-06-07 06:50:56 UTC (rev 29300)
@@ -1326,6 +1326,9 @@
* prevents dragging regions into other opposite regions */
for (ar=sa->regionbase.first; ar; ar=ar->next)
{
+ if (ar == scalear)
+ continue;
+
if (scalear->alignment == RGN_ALIGN_TOP && ar->alignment == RGN_ALIGN_BOTTOM)
dist -= ar->winy;
else if (scalear->alignment == RGN_ALIGN_BOTTOM && ar->alignment == RGN_ALIGN_TOP)
@@ -1334,8 +1337,15 @@
dist -= ar->winx;
else if (scalear->alignment == RGN_ALIGN_RIGHT && ar->alignment == RGN_ALIGN_LEFT)
dist -= ar->winx;
+
+ /* case of regions in regions, like operator properties panel */
+ /* these can sit on top of other regions such as headers, so account for this */
+ else if (edge == 'b' && scalear->alignment & RGN_ALIGN_TOP && ar->alignment == RGN_ALIGN_TOP && ar->regiontype == RGN_TYPE_HEADER)
+ dist -= ar->winy;
+ else if (edge == 't' && scalear->alignment & RGN_ALIGN_BOTTOM && ar->alignment == RGN_ALIGN_BOTTOM && ar->regiontype == RGN_TYPE_HEADER)
+ dist -= ar->winy;
}
-
+
return dist;
}
More information about the Bf-blender-cvs
mailing list