+ p_button==button && p_state==state);
+
+ if(dblclick && p_reg!=reg){
+ if(sub)
+ return FALSE;
+ dblclick=FALSE;
+ }
+
+ subreg=region_current(reg);
+ area=window_press((WWindow*)reg, ev, &subreg);
+
+ if(dblclick){
+ pressbind=region_lookup_binding(reg, BINDING_BUTTONDBLCLICK, state,
+ button, area);
+ }
+
+ if(pressbind==NULL){
+ pressbind=region_lookup_binding(reg, BINDING_BUTTONPRESS, state,
+ button, area);
+ }
+
+ if(pressbind==NULL && sub){
+ /* If subwindow doesn't listen to state/button(/area) at all, return and
+ * let the parent that has the event grabbed, handle it. Otherwise we
+ * fully block the parent.
+ */
+ if(!dblclick && !listens_to(reg, state, button, area))
+ return FALSE;
+ }