Changeset 30591 in vbox
- Timestamp:
- Jul 2, 2010 6:41:57 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 63316
- Location:
- trunk/src/VBox/Main
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/ConsoleImpl.cpp
r30564 r30591 4976 4976 } 4977 4977 evDesc.init(mEventSource, VBoxEventType_OnCanShowWindow); 4978 BOOL fDelivered = evDesc.fire( 10000); /* Wait up to 10secs for delivery */4979 Assert(fDelivered);4978 BOOL fDelivered = evDesc.fire(5000); /* Wait up to 5 secs for delivery */ 4979 //Assert(fDelivered); 4980 4980 if (fDelivered) 4981 4981 { … … 4997 4997 } 4998 4998 else 4999 {5000 Assert(FALSE);5001 4999 *aCanShow = TRUE; 5002 }5003 5000 } 5004 5001 else … … 5027 5024 ++it; 5028 5025 } 5029 #if 15030 5026 evDesc.init(mEventSource, VBoxEventType_OnShowWindow, UINT64_C(0)); 5031 ComPtr<IEvent> aEvent; 5032 evDesc.getEvent(aEvent.asOutParam()); 5033 ComPtr<IShowWindowEvent> aShowEvent = aEvent; 5034 5035 BOOL fDelivered = evDesc.fire(10000); /* Wait up to 10 secs for delivery */ 5036 Assert(fDelivered); 5027 BOOL fDelivered = evDesc.fire(5000); /* Wait up to 5 secs for delivery */ 5028 //Assert(fDelivered); 5037 5029 if (fDelivered) 5038 5030 { 5031 ComPtr<IEvent> aEvent; 5032 evDesc.getEvent(aEvent.asOutParam()); 5033 ComPtr<IShowWindowEvent> aShowEvent = aEvent; 5039 5034 ULONG64 aEvWinId = 0; 5040 5035 if (aShowEvent) 5041 5036 { 5042 5037 aShowEvent->COMGETTER(WinId)(&aEvWinId); 5043 if ( aEvWinId != 0)5038 if ((aEvWinId != 0) && (*aWinId == 0)) 5044 5039 *aWinId = aEvWinId; 5045 5040 } … … 5047 5042 Assert(FALSE); 5048 5043 } 5049 else5050 Assert(FALSE);5051 #endif5052 5044 } 5053 5045 -
trunk/src/VBox/Main/EventImpl.cpp
r30559 r30591 357 357 return mActive; 358 358 } 359 360 friend class EventSource; 359 361 }; 360 362 … … 736 738 */ 737 739 cbRc = record.obj()->process(aEvent, aWaitable, pit, alock); 738 // what to do with cbRc? 740 741 if (FAILED_DEAD_INTERFACE(cbRc)) 742 { 743 AutoWriteLock awlock(this COMMA_LOCKVAL_SRC_POS); 744 Listeners::iterator lit = m->mListeners.find(record.obj()->mListener); 745 if (lit != m->mListeners.end()) 746 m->mListeners.erase(lit); 747 } 748 // anything else to do with cbRc? 739 749 } 740 750 } while (0); -
trunk/src/VBox/Main/VirtualBoxImpl.cpp
r30565 r30591 2752 2752 VBoxEventDesc evDesc; 2753 2753 evDesc.init(m->pEventSource, VBoxEventType_OnExtraDataCanChange, id.raw(), aKey, aValue); 2754 BOOL fDelivered = evDesc.fire( 10000); /* Wait up to 10secs for delivery */2755 Assert(fDelivered);2754 BOOL fDelivered = evDesc.fire(3000); /* Wait up to 3 secs for delivery */ 2755 //Assert(fDelivered); 2756 2756 if (fDelivered) 2757 2757 { -
trunk/src/VBox/Main/glue/tests/TestVBox.java
r30424 r30591 207 207 } 208 208 209 static void testEvents(VirtualBoxManager mgr, IEventSource es) 210 { 211 IEventListener listener = es.createListener(); 209 static class EventHandler 210 { 211 EventHandler() {} 212 public void handleEvent(IEvent ev) 213 { 214 try { 215 processEvent(ev); 216 } catch (Throwable t) { 217 t.printStackTrace(); 218 } 219 } 220 } 221 222 static void testEvents(VirtualBoxManager mgr, IEventSource es, boolean active) 223 { 224 // active mode for Java doesn't fully work yet, and using passive 225 // is more portable (the only mode for MSCOM and WS) and thus generally 226 // recommended 227 IEventListener listener = active ? mgr.createListener(new EventHandler()) : es.createListener(); 212 228 213 229 es.registerListener(listener, Arrays.asList(VBoxEventType.Any), false); … … 216 232 for (int i=0; i<100; i++) 217 233 { 218 IEvent ev = es.getEvent(listener, 1000);219 234 System.out.print("."); 220 if ( ev != null)235 if (active) 221 236 { 222 processEvent(ev); 223 es.eventProcessed(listener, ev); 237 mgr.waitForEvents(500); 238 } 239 else 240 { 241 IEvent ev = es.getEvent(listener, 1000); 242 if (ev != null) 243 { 244 processEvent(ev); 245 es.eventProcessed(listener, ev); 246 } 224 247 } 225 248 } … … 263 286 testStart(mgr, vbox); 264 287 //testCallbacks(mgr, vbox); 265 testEvents(mgr, vbox.getEventSource() );288 testEvents(mgr, vbox.getEventSource(), false); 266 289 267 290 System.out.println("done, press Enter...");
Note:
See TracChangeset
for help on using the changeset viewer.