title: p:ajax is crashing composite component
body: <p>I created a composite component that implements a spinner, i works really fine, but when I changed from primefaces 2.2.1 to primefaces 3.3.1 the component crashes all the page when I try use p:ajax instead of f:ajax.</p>
  
  <p>Here is the component:</p>
  
  <pre><code>&lt;c:interface&gt;
      &lt;c:attribute name="value" required="true"/&gt;
      &lt;c:attribute name="fator" required="false" default="1"/&gt;
      &lt;c:attribute name="required" required="false" default="false"/&gt;
      &lt;c:attribute name="requiredMessage" required="false" default=""/&gt;
      &lt;c:attribute name="validatorMessage" required="false" default="Não é um número válido!"/&gt;
      &lt;c:attribute name="disabled" required="false" default="false"/&gt;
      &lt;c:attribute name="title" required="false" default=""/&gt;
      &lt;c:attribute name="width" required="false" default="100"/&gt;
      &lt;c:attribute name="dinheiro" required="false" default="false"/&gt;
      &lt;c:attribute name="local" required="false" default="pt-BR"/&gt;
      &lt;c:attribute name="imediato" required="false" default="false"/&gt;
      &lt;c:attribute name="onchange" required="false" default=""/&gt;
      &lt;c:attribute name="onkeyup" required="false" default=""/&gt;
      &lt;c:attribute name="max" required="false" default="-1"/&gt;
      &lt;c:attribute name="min" required="false" default="0"/&gt;
      &lt;c:attribute name="parametro" required="false" default=""/&gt;
      &lt;c:attribute name="casasDecimais" required="false" default="2"/&gt;
      &lt;c:attribute name="valueChangeListener" method-signature="void method(javax.faces.event.ValueChangeEvent)"
                   targets="spinner"/&gt;
      &lt;c:attribute name="rendered" required="false" default="true"/&gt;
      &lt;c:editableValueHolder name="#{cc.id}" targets="spinner"/&gt;
      &lt;c:clientBehavior name="blur" default="true" event="blur"
                        targets="spinner"/&gt;
      &lt;c:clientBehavior name="change" default="true" event="change"
                        targets="spinner"/&gt;
  &lt;/c:interface&gt;
  
  &lt;c:implementation&gt;
      &lt;h:outputStylesheet library="css" name="hrgiSpinner.css" target="head"/&gt;
      &lt;h:outputScript library="js" name="jquery.formatCurrency-1.4.0.min.js" target="head"/&gt;
      &lt;h:outputScript library="js" name="jquery.formatCurrency.pt-BR.js" target="head"/&gt;
      &lt;h:outputScript library="js" name="hrgiSpinner.js" target="head"/&gt;
      &lt;h:panelGroup layout="block" styleClass="hrgi-spinner" rendered="#{cc.attrs.rendered}"&gt;
          &lt;p:inputText id="spinner" value="#{cc.attrs.value}"
                       styleClass="hrgi-spinner-input editableField" disabled="#{cc.attrs.disabled}"
                       onchange="formatar(this,'#{cc.attrs.fator}','#{cc.attrs.local}','#{cc.attrs.dinheiro}','#{cc.attrs.max}','#{cc.attrs.min}','#{cc.attrs.casasDecimais}'); #{cc.attrs.onchange}"
                       required="#{cc.attrs.required}" requiredMessage="#{cc.attrs.requiredMessage}"
                       validatorMessage="#{cc.attrs.validatorMessage}" onkeyup="#{cc.attrs.onkeyup}"
                       title="#{cc.attrs.title}" immediate="#{cc.attrs.imediato}" style="width: #{cc.attrs.width}px;"
                       converterMessage="O valor informado não é um número."&gt;
              &lt;f:attribute name="objeto" value="#{cc.attrs.parametro}"/&gt;
          &lt;/p:inputText&gt;
          &lt;h:panelGroup layout="block" styleClass="hrgi-spinner-painel-botoes"
                        rendered="#{not cc.attrs.disabled}"&gt;
              &lt;div onmousedown="incrementar('#{cc.clientId}'+':spinner','#{cc.attrs.fator}','#{cc.attrs.local}','#{cc.attrs.dinheiro}','#{cc.attrs.max}','#{cc.attrs.min}','#{cc.attrs.casasDecimais}');"
                   class="hrgi-spinner-botao hrgi-spinner-botao-alto clearfix"/&gt;
              &lt;div onmousedown="decrementar('#{cc.clientId}'+':spinner','#{cc.attrs.fator}','#{cc.attrs.local}','#{cc.attrs.dinheiro}','#{cc.attrs.max}','#{cc.attrs.min}','#{cc.attrs.casasDecimais}');"
                   class="hrgi-spinner-botao hrgi-spinner-botao-baixo clearfix"/&gt;
          &lt;/h:panelGroup&gt;
          &lt;h:panelGroup layout="block"
                        styleClass="hrgi-spinner-painel-botoes hrgi-spinner-painel-botoes-desabilitados"
                        rendered="#{cc.attrs.disabled}"&gt;
              &lt;div class="hrgi-spinner-botao hrgi-spinner-botao-alto clearfix"/&gt;
              &lt;div class="hrgi-spinner-botao hrgi-spinner-botao-baixo clearfix"/&gt;
          &lt;/h:panelGroup&gt;
      &lt;/h:panelGroup&gt;
  &lt;/c:implementation&gt;
  </code></pre>
  
  <p>when I use f:ajax:</p>
  
  <pre><code> &lt;hrgi:spinner id="aliquotaIpiItem" rendered="#{itemEmbrulhado.carregado}"
       disabled="#{not modeloPopupLancamentoNF.lancamentoDanfe}"
       value="#{controladorTabelaDinamicaItemNF.recuperarIPI(itemEmbrulhado).aliquota}"
       dinheiro="false" fator="0.01" local="pt-BR" min="0.00" width="70"
       parametro="#{itemEmbrulhado}"&gt;
       &lt;f:ajax render=":lancamentoNF:abasNF:painelItensNF :alerta" execute="@form"
           event="blur" listener="#{controladorPopupLancamentoNF.validarAliquotasItemEAdicionar}"
           onevent="definirFoco"/&gt;
       &lt;f:convertNumber maxFractionDigits="2" minFractionDigits="2" locale="#{cc.attrs.local}"
           for="aliquotaIpiItem"/&gt;
   &lt;/hrgi:spinner&gt;
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/QGHPD.png" alt="Normal"></p>
  
  <p>when I use p:ajax:</p>
  
  <pre><code>&lt;hrgi:spinner id="aliquotaIpiItem" rendered="#{itemEmbrulhado.carregado}"
      disabled="#{not modeloPopupLancamentoNF.lancamentoDanfe}"
      value="#{controladorTabelaDinamicaItemNF.recuperarIPI(itemEmbrulhado).aliquota}"
      dinheiro="false" fator="0.01" local="pt-BR" min="0.00" width="70"
      parametro="#{itemEmbrulhado}"&gt;
      &lt;p:ajax update=":lancamentoNF:abasNF:painelItensNF :alerta" process="@form"
          event="blur" listener="#{controladorPopupLancamentoNF.validarAliquotasItemEAdicionar(itemEmbrulhado)}"
          onsuccess="salvarFoco();" oncomplete="carregarFoco(); exibirPopupAlerta(xhr, status, args);"/&gt;
      &lt;f:convertNumber maxFractionDigits="2" minFractionDigits="2" locale="#{cc.attrs.local}"
          for="aliquotaIpiItem"/&gt;
  &lt;/hrgi:spinner&gt;
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/vJtRC.png" alt="Crashed"></p>
  
  <p>Could someone explain me what is happening??</p>