Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Firefox: PasswordItem does not accept -+?

    Hi,

    I found an issue in Firefox 49... you can not enter all charachters in PasswordItems. Try to enter '?' or '-'... then the following error message appears:

    Code:
    com.google.gwt.event.shared.UmbrellaException: Exception caught: null
        at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:129)
        at com.smartgwt.client.core.DataClass.fireEvent(DataClass.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
        at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:72)
        at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
        at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:341)
        at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:222)
        at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:121)
        at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:573)
        at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:293)
        at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
        at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
        at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:291)
        at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
        at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:72)
        at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
        at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:296)
        at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:551)
        at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:368)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.NullPointerException: null
        at com.uds.webadmin.client.GLogin$9.onKeyDown(GLogin.java:382)
        at com.smartgwt.client.widgets.form.fields.events.KeyDownEvent.dispatch(KeyDownEvent.java:122)
        at com.smartgwt.client.widgets.form.fields.events.KeyDownEvent.dispatch(KeyDownEvent.java:1)
        at com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:1)
        at com.google.web.bindery.event.shared.EventBus.dispatchEvent(EventBus.java:40)
        at com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:193)
        at com.google.web.bindery.event.shared.SimpleEventBus.fireEvent(SimpleEventBus.java:88)
        at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:127)
        at com.smartgwt.client.core.DataClass.fireEvent(DataClass.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
        at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:72)
        at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
        at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:341)
        at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:222)
        at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:121)
        at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:573)
        at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:293)
        at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
        at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
        at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:291)
        at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
        at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:72)
        at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
        at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:296)
        at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:551)
        at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:368)
        at java.lang.Thread.run(Thread.java:745)
    In Chrome or Opera it is working fine. Furthermore in Firefox you can enter '-' when you use the Numerical block on the right side of the keyboard.

    Thanks
    Andy


    Code:
            PasswordItem txtPassword = new PasswordItem( "txtPassword", GWebAdmin.lang.password() );
            txtPassword.setWidth( "100%" );
            txtPassword.setLength( 30 );
            txtPassword.setRequired( true );
            txtPassword.addKeyDownHandler( new KeyDownHandler()
            {
    
                @Override
                public void onKeyDown( KeyDownEvent event )
                {
                    if ( event.getKeyName().equals( "Enter" ) )
                    {
                        login();
                    }
                }
            } );
            txtPassword.addClickHandler( new com.smartgwt.client.widgets.form.fields.events.ClickHandler()
            {
    
                @Override
                public void onClick( com.smartgwt.client.widgets.form.fields.events.ClickEvent event )
                {
                    txtPassword.selectValue();
                }
            } );
    Last edited by andyx1975; 26 Oct 2016, 00:10.

    #2
    After further investigation, I can confirm, that this issue is related to the keyDownListener... after removing this listener... it seems to work:

    Code:
     txtPassword.addKeyDownHandler( new KeyDownHandler()
            {
    
                @Override
                public void onKeyDown( KeyDownEvent event )
                {
                    if ( event.getKeyName().equals( "Enter" ) )
                    {
                        login();
                    }
                }
            } );

    Comment


      #3
      okay this seems to be a workaround for the firefox issues - "event.getKeyName() != null && event.getKeyName().equals( "Enter" ) ":

      Code:
      txtPassword.addKeyDownHandler( new KeyDownHandler()
                  {
      
                      @Override
                      public void onKeyDown( KeyDownEvent event )
                      {
                          if ( event.getKeyName() != null && event.getKeyName().equals( "Enter" ) )
                          {
                              applyInteraction();
                          }
                      }
                  } );

      Comment

      Working...
      X