1937 ]. |
1937 ]. |
1938 |
1938 |
1939 "Modified: / 29-08-2013 / 16:29:32 / cg" |
1939 "Modified: / 29-08-2013 / 16:29:32 / cg" |
1940 ! |
1940 ! |
1941 |
1941 |
1942 notifyEventArrival:anEvent |
1942 notifyEventArrival:anEventOrNil |
1943 "an event arrived - if there is an eventSemaphore, |
1943 "an event arrived - if there is an eventSemaphore, |
1944 signal it, to wake up any windowGroup process" |
1944 signal it, to wake up any windowGroup process" |
1945 |
1945 |
1946 |evView| |
1946 |evView wgProcess| |
1947 |
1947 |
1948 evView := anEvent view. |
1948 anEventOrNil notNil ifTrue:[ |
1949 (evView notNil and:[catchExpose includesIdentical:evView]) ifTrue:[ |
1949 evView := anEventOrNil view. |
1950 "/ don't signal sema, if we are currently waiting for an expose |
1950 (evView notNil and:[catchExpose includesIdentical:evView]) ifTrue:[ |
1951 "/ (confirmation of a scroll operation). |
1951 "/ don't signal sema, if we are currently waiting for an expose |
1952 "/ instead, remember that any event arrived for this view. |
1952 "/ (confirmation of a scroll operation). |
1953 gotOtherEvent add:evView. |
1953 "/ instead, remember that any event arrived for this view. |
1954 ^ self |
1954 gotOtherEvent add:evView. |
1955 ]. |
1955 ^ self |
1956 |
1956 ]. |
|
1957 ]. |
|
1958 |
1957 eventSemaphore notNil ifTrue:[ |
1959 eventSemaphore notNil ifTrue:[ |
1958 "/ can get along with a single trigger; |
1960 "/ can get along with a single trigger; |
1959 "/ because processEvents will read all events |
1961 "/ because processEvents will read all events |
1960 eventSemaphore signalOnce |
1962 eventSemaphore signalOnce. |
|
1963 |
|
1964 "/ a little kludge: |
|
1965 "/ if this is a mouse-click, AND more than one event is already in the queue |
|
1966 "/ AND the windowGroup process is being debugged, |
|
1967 "/ then raise the debugger. |
|
1968 evView notNil ifTrue:[ |
|
1969 anEventOrNil isButtonPressEvent ifTrue:[ |
|
1970 mouseAndKeyboard size > 1 ifTrue:[ |
|
1971 evView windowGroup notNil ifTrue:[ |
|
1972 (wgProcess := evView windowGroup process) notNil ifTrue:[ |
|
1973 wgProcess isDebugged notNil ifTrue:[ |
|
1974 DebugView allInstances do:[:dbg | |
|
1975 dbg inspectedProcess == wgProcess ifTrue:[ |
|
1976 dbg window topView raiseDeiconified |
|
1977 ]. |
|
1978 ]. |
|
1979 ]. |
|
1980 ]. |
|
1981 ]. |
|
1982 ]. |
|
1983 ]. |
|
1984 ]. |
1961 ] |
1985 ] |
1962 |
1986 |
1963 "Modified: 8.2.1997 / 12:01:48 / cg" |
1987 "Modified: 8.2.1997 / 12:01:48 / cg" |
1964 ! |
1988 ! |
1965 |
1989 |
2054 self criticalDamageEventQueueAccess:[ |
2078 self criticalDamageEventQueueAccess:[ |
2055 didAddNewDamage := self basicAddDamage:aRectangle view:aView. |
2079 didAddNewDamage := self basicAddDamage:aRectangle view:aView. |
2056 ]. |
2080 ]. |
2057 didAddNewDamage ifTrue:[ |
2081 didAddNewDamage ifTrue:[ |
2058 doWakeup ifTrue:[ |
2082 doWakeup ifTrue:[ |
2059 self notifyEventArrival:aView. |
2083 self notifyEventArrival:nil. |
2060 ]. |
2084 ]. |
2061 ]. |
2085 ]. |
2062 |
2086 |
2063 "Created: / 28.5.1996 / 21:51:16 / cg" |
2087 "Created: / 28.5.1996 / 21:51:16 / cg" |
2064 "Modified: / 6.6.1998 / 21:09:06 / cg" |
2088 "Modified: / 6.6.1998 / 21:09:06 / cg" |