X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ioncore%2Fbinding.c;h=5ca284ddb157cfeaa71ef5d219781f5f80aa15a3;hb=0e823ba752af388ba5ca99800d094f88a11290db;hp=7b80d111776d7572a29d9d8afc7784b2dd17badd;hpb=803afbc1cd633f6c025bcd9537e9b7e9aedadd0d;p=ion3.git diff --git a/ioncore/binding.c b/ioncore/binding.c index 7b80d11..5ca284d 100644 --- a/ioncore/binding.c +++ b/ioncore/binding.c @@ -1,12 +1,9 @@ /* * ion/ioncore/binding.c * - * Copyright (c) Tuomo Valkonen 1999-2007. + * Copyright (c) Tuomo Valkonen 1999-2008. * - * Ion is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. + * See the included file LICENSE for details. */ #include @@ -384,7 +381,7 @@ void binding_grab_on(const WBinding *binding, Window win) binding->act!=BINDING_BUTTONMOTION) return; - if(binding->state==0) + if(binding->state==0 || binding->area!=0) return; #ifndef CF_HACK_IGNORE_EVIL_LOCKS @@ -415,7 +412,7 @@ void binding_ungrab_on(const WBinding *binding, Window win) binding->act!=BINDING_BUTTONMOTION) return; - if(binding->state==0) + if(binding->state==0 || binding->area!=0) return; #ifndef CF_HACK_IGNORE_EVIL_LOCKS @@ -486,6 +483,11 @@ static WBinding *do_bindmap_lookup_binding(WBindmap *bindmap, binding=search_binding(bindmap, &tmp); + if(BINDING_IS_PSEUDO(act)){ + /* No use trying anything else */ + return binding; + } + if(binding==NULL){ tmp.state=AnyModifier; binding=search_binding(bindmap, &tmp);