Composite jsf + trava tela

oi galera,

estou criando um componente de pesquisa (composite jsf) pra facilitar minha vida no desenvolvimento do meu projeto.
Esse componente busca endereço e é usado em todas as telas que eu preciso informar uma rua, bairro, cidade etc.

Se eu tenho uma tela normal chamando o componente ele funciona perfeito.
Mas se eu chamo o componente de um um p:dialog (estou usando primefaces 3.4.2), o componente vem travado e não permite alterar o filtro da consulta.

Só depois de clicar em consultar, que a tela do componente é destravada. No codigo abaixo, é o PNLFILTRO que fica travado (os combos não abre, os inputs estão como leitura) . Só funciona o botão filtrar.

Segue o codigo do meu componente:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:cc="http://java.sun.com/jsf/composite"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:componentepronto="http://java.sun.com/jsf/composite/componentepronto"
      xmlns:ui="http://java.sun.com/jsf/facelets">

    <h:head>
        <title>This content will not be displayed</title>

    </h:head>
    <!-- INTERFACE -->
    <h:body >
        <cc:interface>
            <cc:actionSource name="autoCompleteID" targets="autoCompleteID" />

            <cc:attribute name="size" required="false" default="15" type="java.lang.Integer"/>
            <cc:attribute name="maxlength" required="false" default="9" type="java.lang.Integer"/>

            <cc:attribute name="valor" required="false" default="null" type="java.lang.Object" />
            <cc:attribute name="selected" required="false" default="null" type="java.lang.Object" />
            <cc:attribute name="lista" required="false" type="java.util.List" />

            <cc:attribute name="renderizar" required="false" default="true" type="java.lang.Boolean" />
            <cc:attribute name="disabled" required="false" default="false" type="java.lang.Boolean" />
            <cc:attribute name="cadastro" required="false" default="false" type="java.lang.Boolean" />

            <cc:attribute name="styleClass" required="false" default="null" type="java.lang.String" />
            <cc:attribute name="style" required="false" default="null" type="java.lang.String" />
            <cc:attribute name="update" required="false" default="@this" type="java.lang.String" />
            <cc:attribute name="widgetVar" required="false" default="consutaCep" type="java.lang.String" />
            <cc:editableValueHolder name="value" targets="autoCompleteID" />

        </cc:interface>

        <!-- IMPLEMENTATION -->
        <cc:implementation >
            
            <p:dialog id="dlgEndereco" modal="false" position="top" widgetVar="#{cc.attrs.widgetVar}" width="800" header="Consulta Endereço">
                
                    <h:outputLabel>
                        <p:messages id="msg"  />
                    </h:outputLabel>
                        
                    <p:outputPanel id="dadosFiltro">
                        <p:panel id="pnlFiltro" header="Filtro" rendered="true">
                            <p:panelGrid>
                                <p:row>
                                    <p:column>
                                         <h:outputText value="UF:"/>
                                    </p:column>
                                    <p:column>
                                        <h:selectOneMenu value="#{enderecoController.estado}" label="uf" style="width: 100px">
                                            <f:selectItems value="#{enderecoController.estados}"/>
                                            <p:ajax event="change" update="campoCidade" />
                                        </h:selectOneMenu>
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="Cidade:"/>
                                    </p:column>
                                    <p:column>
                                        <h:selectOneMenu id="campoCidade" value="#{enderecoController.cidade}" style="width: 250px;" label="cidade" requiredMessage="Necessário preencher o nome da cidade" converter="CidadeConverter">
                                            <f:selectItems value="#{enderecoController.cidades}" var="cidadeAtual" itemValue="#{cidadeAtual}" itemLabel="#{cidadeAtual.nome}"/>
                                            <p:ajax event="change" process="@this" update="campoBairroFiltro"/>
                                        </h:selectOneMenu>
                                    </p:column>
                                </p:row>
                                <p:row>
                                    <p:column>
                                        <h:outputText value="CEP:"/>
                                    </p:column>
                                    <p:column>
                                        <componentepronto:cep valor="#{enderecoController.pesquisa.cep}" ajax="false"/>
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="Bairro:"/>
                                    </p:column>
                                    <p:column>
                                        <h:selectOneMenu id="campoBairroFiltro" value="#{enderecoController.bairro}" style="width: 250px;" label="bairro" requiredMessage="Selecione um bairro" converter="BairroConverter" converterMessage="Erro ao converter bairro">
                                            <f:selectItems value="#{enderecoController.bairros}" var="bairroAtual" itemValue="#{bairroAtual}" itemLabel="#{bairroAtual.nome}"/>
                                        </h:selectOneMenu>
                                        
                                    </p:column>
                                </p:row>
                            </p:panelGrid>
                        </p:panel>
                       </p:outputPanel>
                        <br/>
                        <p:dataTable id="lista" var="var" value="#{enderecoController.lazyLista}"  
                                    scrollable="false"
                                    rows="5"
                                    paginatorPosition="top"
                                    paginator="true" lazy="true"
                                    selectionMode="single"
                                    selection="#{cc.attrs.selected}"
                                    rowKey="#{var}"
                                    emptyMessage="NENHUM RESULTADO ENCONTRADO!"
                                    >  

                            <p:column sortBy="#{var.codigo}"  style="text-align: left">  
                                <f:facet name="header">
                                    <center><h:outputText value="ID"/></center>
                                </f:facet>
                                    <h:outputText value="#{var.codigo}" />
                            </p:column> 
                            <p:column sortBy="#{var.logradouroEndereco}"  style="text-align: left">  
                                <f:facet name="header">
                                    <center><h:outputText value="Logradouro"/></center>
                                </f:facet>
                                    <h:outputText value="#{var.endereco}" />
                            </p:column> 
                            <p:column sortBy="#{var.bairro.bairroNome}" style="text-align: left">  
                                <f:facet name="header">
                                    <center><h:outputText value="Bairro"/></center>
                                </f:facet>
                                <h:outputText value="#{var.bairro.nome}" />                         
                            </p:column> 
                            <p:column sortBy="#{var.bairro.cidade.nome}" style="text-align: left">  
                                <f:facet name="header">  
                                    <center><h:outputText value="Cidade"/></center>
                                </f:facet>  
                                <h:outputText value="#{var.bairro.cidade.nome}" />  
                            </p:column>  
                            <p:column  >   
                                <f:facet name="header" >  
                                    <h:outputText value="UF" />  
                                </f:facet>  
                                <h:outputText value="#{var.bairro.cidade.estado.sigla}" />  
                            </p:column>  

                            <p:column  headerText="CEP" >  
                                <h:outputText value="#{var.cep}" />                         
                            </p:column> 

                            <f:facet name="footer">  
                                <p:commandButton id="btn" value="OK" icon="ui-icon-check" onstart="#{cc.attrs.widgetVar}.hide()" update="#{cc.attrs.update}" global="false" process="lista"/>
                            </f:facet> 
                        </p:dataTable>
                   
                </p:dialog>
        </cc:implementation>
    </h:body>

</html>

E como eu chamo o componente dentro do dialog:

O que me chama atenção é que depois que vc filtra, o resultado vem e o PNLFILTRO é destravado.
Dai funciona normal.

Alguem sabe porque isso ocorre?