You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by jm...@apache.org on 2013/07/27 04:21:28 UTC
[03/50] [abbrv] git commit: [flex-sdk] [refs/heads/master] - Stop
several RTE in the ADG from occurring including when resizing columns. All
fixed have been in live app for 6+ months and ADG Mustella tests pass.
Stop several RTE in the ADG from occurring including when resizing columns. All fixed have been in live app for 6+ months and ADG Mustella tests pass.
Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/d7f78c41
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/d7f78c41
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/d7f78c41
Branch: refs/heads/master
Commit: d7f78c414616ea933f556124f5c13e45c22b4e34
Parents: 71350a2
Author: Justin Mclean <jm...@apache.org>
Authored: Wed Jul 10 17:02:45 2013 +1000
Committer: Justin Mclean <jm...@apache.org>
Committed: Wed Jul 10 17:02:45 2013 +1000
----------------------------------------------------------------------
.../src/mx/controls/AdvancedDataGridBaseEx.as | 53 ++++++++++++++------
.../AdvancedDataGridItemRenderer.as | 20 ++++++--
2 files changed, 55 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/d7f78c41/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as b/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
index 5855c6f..203a113 100644
--- a/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
+++ b/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
@@ -5390,7 +5390,8 @@ public class AdvancedDataGridBaseEx extends AdvancedDataGridBase implements IIME
deferFocus();
// must call removeChild() so FocusManager.lastFocus becomes null
- itemEditorInstance.parent.removeChild(DisplayObject(itemEditorInstance));
+ if (itemEditorInstance)
+ itemEditorInstance.parent.removeChild(DisplayObject(itemEditorInstance));
// we are not setting the item renderer's visibility to false while creating an editor,
// then why set its visibility to true
@@ -6542,7 +6543,14 @@ public class AdvancedDataGridBaseEx extends AdvancedDataGridBase implements IIME
*/
protected function displayToAbsoluteColumnIndex(columnIndex:int):int
{
- return displayableColumns[columnIndex].colNum;
+ var noColumns:int = displayableColumns.length;
+
+ if (columnIndex >= 0 && columnIndex < noColumns) {
+ return displayableColumns[columnIndex].colNum;
+ }
+ else {
+ return -1;
+ }
}
/**
@@ -7590,11 +7598,20 @@ public class AdvancedDataGridBaseEx extends AdvancedDataGridBase implements IIME
return;
var target:DisplayObject = DisplayObject(event.target);
- var index:int = target.parent.getChildIndex(target);
- var optimumColumns:Array = getOptimumColumns();
- if (!optimumColumns[index].resizable)
+ var parent:DisplayObjectContainer = target.parent;
+ if (!parent)
+ return;
+ var index:int = parent.getChildIndex(target);
+ var optimumColumns:Array = getOptimumColumns();
+ if (index < 0 || index >= optimumColumns.length)
+ return;
+ if (!optimumColumns[index] || !optimumColumns[index].resizable)
return;
- cursorManager.removeCursor(resizeCursorID);
+
+ if (resizeCursorID != CursorManager.NO_CURSOR) {
+ cursorManager.removeCursor(resizeCursorID);
+ resizeCursorID = CursorManager.NO_CURSOR;
+ }
}
/**
@@ -7607,16 +7624,21 @@ public class AdvancedDataGridBaseEx extends AdvancedDataGridBase implements IIME
return;
var target:DisplayObject = DisplayObject(event.target);
- var index:int = target.parent.getChildIndex(target);
+ var parent:DisplayObjectContainer = target.parent;
+ if (!parent)
+ return;
+ var index:int = parent.getChildIndex(target);
- //If the separator is not in locked region, column index need to be adjusted
- if(lockedColumnCount > 0 &&
- target.parent == UIComponent(getLines().getChildByName("header")))
+ // If the separator is not in locked region, column index need to be adjusted
+ if (lockedColumnCount > 0 &&
+ parent == UIComponent(getLines().getChildByName("header")))
index += (lockedColumnCount - 1);
var optimumColumns:Array = getOptimumColumns();
- if (!optimumColumns[index].resizable)
- return;
+ if (index < 0 || index >= optimumColumns.length)
+ return;
+ if (!optimumColumns[index] || !optimumColumns[index].resizable)
+ return;
if (itemEditorInstance)
endEdit(AdvancedDataGridEventReason.OTHER);
@@ -7703,7 +7725,7 @@ public class AdvancedDataGridBaseEx extends AdvancedDataGridBase implements IIME
// TODO - we should substract the resized column separatos's width
var maxWidth:Number = unscaledWidth - separatorWidth - vsw ;
var index:int;
- if(getOptimumColumns() == visibleColumns)
+ if (getOptimumColumns() == visibleColumns)
index = absoluteToVisibleColumnIndex(resizingColumn.colNum);
else
index = absoluteToDisplayColumnIndex(resizingColumn.colNum);
@@ -7730,7 +7752,10 @@ public class AdvancedDataGridBaseEx extends AdvancedDataGridBase implements IIME
listContent.removeChild(DisplayObject(resizeGraphic));
- cursorManager.removeCursor(resizeCursorID);
+ if (resizeCursorID != CursorManager.NO_CURSOR) {
+ cursorManager.removeCursor(resizeCursorID);
+ resizeCursorID = CursorManager.NO_CURSOR;
+ }
var c:AdvancedDataGridColumn = resizingColumn;
resizingColumn = null;
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/d7f78c41/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as b/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as
index aeadecf..533af53 100644
--- a/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as
+++ b/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as
@@ -448,13 +448,25 @@ public class AdvancedDataGridItemRenderer extends UITextField
public function validateProperties():void
{
invalidatePropertiesFlag = false;
- if (_listData)
+ if (_listData && listData.owner)
{
var dg:AdvancedDataGrid = AdvancedDataGrid(_listData.owner);
- var column:AdvancedDataGridColumn =
- dg.columns[_listData.columnIndex];
-
+ if (_listData.columnIndex < 0 || _listData.columnIndex >= dg.columns.length) {
+ text = " ";
+ toolTip = null;
+ return;
+ }
+
+ var column:AdvancedDataGridColumn =
+ dg.columns[_listData.columnIndex];
+
+ if (column == null) {
+ text = " ";
+ toolTip = null;
+ return;
+ }
+
text = _listData.label;
if (_data is AdvancedDataGridColumn)