         
         //trace("CB.processInputField input string",textInput.text);
         
+        if (!dataProvider || dataProvider.length <= 0)
+            return;
+        
         // If the textInput has been changed, then use the input string as the selectedItem
         actualProposedSelectedIndex = CUSTOM_SELECTED_ITEM; 
-                
+                    
         if (textInput.text != "")
         {
             if (itemMatchingFunction != null)

        if (operation is DeleteTextOperation || operation is CutOperation)
        {
            super.changeHighlightedSelection(CUSTOM_SELECTED_ITEM);
            closeDropDown(false);
        }
        else
        {

                    addEventListener(DropDownEvent.OPEN, editingOpenHandler);
                    return;
                }   
            }
            
            processInputField();
        }
    }
    
