Well, I tried to set up a library and party of it was controlling clicks, and for some reason when I try to get middle and right clicks, focus remains on the object.
Numbered Steps to Reproduce Problem:
1) set up something similar to this:
#ifdef RIGHT_CLICK
client/show_popup_menus = 0
atom/proc/RightClick(var/mob/M, var/location, var/control, var/params) return ..()
//Click(location,control,params)
atom/Click(location,control,params)
..()
var/list/parameters = params2list(params)
if(parameters["right"]) spawn() src.RightClick(usr, location, control, params)
#endif
#ifdef LEFT_CLICK
atom/proc/LeftClick(var/mob/M, var/location, var/control, var/params) return ..()
atom/Click(location,control,params)
..()
var/list/parameters = params2list(params)
if(parameters["left"]) spawn() src.LeftClick(usr, location, control, params)
#endif
#ifdef MIDDLE_CLICK
atom/proc/MiddleClick(var/mob/M, var/location, var/control, var/params) return ..()
atom/Click(location,control,params)
..()
var/list/parameters = params2list(params)
if(parameters["middle"]) spawn() src.MiddleClick(usr, location, control, params)
#endif
Then turn everything on, and well I have a little demo anyway...
Code Snippet (if applicable) to Reproduce Problem:
atom
RightClick(var/mob/M)
..()
M<<"Right Clicked [src.name]"
LeftClick(var/mob/M)
..()
M<<"Left Clicked [src.name]"
MiddleClick(var/mob/M)
..()
M<<"Middle Clicked [src.name]"
obj
Box
name = "box"
icon = 'box.dmi'
mob
Login()
..()
contents += new/obj/Box
mob
Stat()
..()
statpanel("Contents", contents)
Expected Results:
Click, focus goes to object, process finishes, focus is no longer the object.
Actual Results:
Focus remains on the object until you click on another window then restore the game window.
Does the problem occur:
Every time? Or how often? Everytime
In other games? Not Sure.
In other user accounts? N/A
On other computers? Not Sure.
When does the problem NOT occur?
When using left clicks.
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Workarounds:
Don't use the library.
Demo:
http://dl.dropbox.com/u/9505004/Libraries%20%26%20Demos/ Library_src.zip