On 11 sep, 16:12, davis <[email protected]> wrote: > Thanks Ian -- was banging my head against the wall, and this narrowed > it down. > > How are people typically debugging the java GWT client code -- since > you can't breakpoint it -- I assume the only way is to compile it down > with pretty printing and use something like firebug? Are you implying you do not use the hosted mode ?! (or that in hosted mode you didn't have an exception prior to the NPE?) > I separate the logic as much as possible with MVP and write straight > JUnit tests for presenter classes, but this isn't a silver bullet > against all possible pitfalls. > > The problem was code that stores references to RootPanel div wrappers, > and later it tried to add these to VerticalPanel. You obviously can't > add RootPanel to other panels. Why? They're finally just (special) AbsolutePanels... Actually, RootPanel.get(...) would be almost equivalent to a hypothetic AbsolutePanel.wrap(...), with the added benefit that RootPanels are cached (calling RootPanel.get(...) twice with the same ID gives you the very same RootPanel instance, provided the element returned by Document.get();getElementById(...) is the same) > This was a simple typo mistake, and > once corrected, the problem went away. The bummer in all this is that > I didn't get any warning or error or exception, it just generated > javascript without my div elements. RootPanel.get(...) only returns 'null' when Document.get ().getElementById(...) itself returns null; which in your case would mean that you moved the RootPanel to a VerticalPanel that isn't (yet) attached to the DOM when you call RootPanel.get(...) for the second time. This is obviously an error in your code that GWT can't really do anything against (provided moving RootPanels around is a supported use case). I'd suggest you open an issue about the fact that RootPanel shouldn't be allowed to be added to other widgets (would be trivial: override setParent() in RootPanel and throw an exception) and see what happens... --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en -~----------~----~----~----~------~----~------~--~---
Re: RootPanel.get(String) + weirdness
- RootPanel.get(String) + <DIV> weirdness davis
- Re: RootPanel.get(String) + <DIV> weirdness Ian Bambury
- Re: RootPanel.get(String) + <DIV> weirdness Sri
- Re: RootPanel.get(String) + <DIV> weirdness davis
- Re: RootPanel.get(String) + <DIV> weirdne... Ian Bambury
- Re: RootPanel.get(String) + <DIV> weirdne... Thomas Broyer
- Re: RootPanel.get(String) + <DIV> weirdne... Ian Bambury
-
Reply via email to
- RootPanel.get(String) + <DIV> weirdness davis
- Re: RootPanel.get(String) + <DIV> weirdness Ian Bambury
- Re: RootPanel.get(String) + <DIV> weirdness Sri
- Re: RootPanel.get(String) + <DIV> weirdness davis
- Re: RootPanel.get(String) + <DIV> weirdne... Ian Bambury
- Re: RootPanel.get(String) + <DIV> weirdne... Thomas Broyer
- Re: RootPanel.get(String) + <DIV> weirdne... Ian Bambury
