incorrect event for ComboBox in samba4's swat.module.ldbbrowse

John Jorgensen jorgensen.john at
Fri Apr 6 05:37:51 GMT 2007

On 4/5/07, Rafal Szczesniak <mimir at> wrote:
> I'm sorry but I don't really see event "changeSelected" being used
> in ComboBox. Could you point me somewhere to the source code ?

The clearest indicators in the qooxdoo source are in the
sample code showing how to use ComboBox.

In fact, I found the problem because I used ldbbrowse as a model
for some code I wrote, and then only figured out why my
ComboBox event handler wasn't getting called when I looked lines
872 -- 881 of

  var select = new qx.ui.form.ComboBox();
  select.addEventListener("changeSelected", function(e) {
    var locale = e.getData().getLabel();

There are other such examples at


It's hard to pinpoint where the event is raised because of the
way that qooxdoo generates events to reflect property changes.  I
_think_ that "changeSelected" is defined by the combination of
line 164 in qx/ui/form/ComboBox.js:

  qx.OO.addProperty({ name: "selected", type: "object", instance :
"qx.ui.form.ListItem" });

with some of the code in qx.OO.createProperty() in qx/OO.js:

  var changeKey = "change" + p.method;
      // Create Event
      if (this.hasEventListeners && this.hasEventListeners(changeKey))
          this.createDispatchDataEvent(changeKey, newValue);
          throw new Error("Property " + + " modified: Failed to
dispatch change event: " + ex);

> If you tested your change with default configuration it could have worked,
> because at the moment combo box itself does not dispatch "changeSelection"
> event as there's only one element on the list (which makes impossible
> selecting something else).

Actually, I think that the existence of a single item in the database
list is the only reason that nobody else has noticed the problem
before. I only noticed it because I cut and pasted some of
ldbbrowse/Gui.js, and was surprised that my event handler never got
called. I thinik if you try to add a second item to the list in a test
copy of ldbbrowse, you'll find that ldbbrowse's event handler isn't
called either.

More information about the samba-technical mailing list