Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#18094 closed defect (fixed)

drop downs broken after some time

Reported by: gerhard presser Owned by: bill
Priority: undecided Milestone: 1.9.4
Component: Dijit Version: 1.9.3
Keywords: Cc:
Blocked By: Blocking:

Description

after some time of working with a dojo-web-app, _HasDropDown widgets seem to be broken.

the drop-downs are closed immediately after showing them.

we can also reproduce this by alternately and rapidly clicking with left/right mouse on e.g. drop-down-buttons.

I attached a small test-page. just click left/right on one of the drop-downs about 20 times, and the whole page is broken. none of the drop downs opens again.

the widget seems to get blured when opening the dropdown. the stacktrace is:

q.closeDropDown (_HasDropDown.js.uncompressed.js:449)
q._onBlur (_HasDropDown.js.uncompressed.js:304)
u._setStack (focus.js.uncompressed.js:302)
u._onTouchNode (focus.js.uncompressed.js:244)
(anonymous function) (focus.js.uncompressed.js:114)

this is quite a critical bug for our application. any ideas for workarounds?

Attachments (1)

focus_problem.html (1.1 KB) - added by gerhard presser 5 years ago.

Download all attachments as: .zip

Change History (7)

Changed 5 years ago by gerhard presser

Attachment: focus_problem.html added

comment:1 Changed 5 years ago by bill

Component: GeneralDijit
Owner: set to gerhard presser
Status: newpending

I'll take a look, but which browser and OS is this happening on for you?

You might as well try 1.10 too; maybe I fixed this already.

comment:2 Changed 5 years ago by gerhard presser

Status: pendingnew

Win 7, Chrome35, FF30, IE11 also seen on dojo 1.10.0

comment:3 Changed 5 years ago by bill

Milestone: tbd1.9.4
Owner: changed from gerhard presser to bill
Status: newassigned

I was able to reproduce this, and fix it, at least in my tests.

When you mousedown on a HasDropDown subclass (like DropDownButton), HasDropDown sets up a mouseup listener at the document level. That listener listens for a single mouseup event and then removes itself. The problem is that we sometimes get two mousedown events in a row, causing us to lose the reference (this._docHandler) to that listener, so it never gets removed. Then when pressing button 1, button 2 reacts to the mouseup event.

Last edited 5 years ago by bill (previous) (diff)

comment:4 Changed 5 years ago by Bill Keese <bill@…>

Resolution: fixed
Status: assignedclosed

In 7ee539e5b74d7f563fb41bc9263c24cd9f0632b0/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:5 Changed 5 years ago by Bill Keese <bill@…>

In 64b9c4fad2a08ca7a18ff8232ec856f9a1bbe2f7/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:6 Changed 5 years ago by Bill Keese <bill@…>

In 5f42418badaa14b88b924e58f60e46292a00f315/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 
Note: See TracTickets for help on using tickets.