javauis/eswt_qt/com.nokia.swt.extensions/extensions/org/eclipse/swt/internal/extension/NetworkStatus.java
changeset 35 85266cc22c7f
parent 23 98ccebc37403
--- a/javauis/eswt_qt/com.nokia.swt.extensions/extensions/org/eclipse/swt/internal/extension/NetworkStatus.java	Thu May 27 12:49:31 2010 +0300
+++ b/javauis/eswt_qt/com.nokia.swt.extensions/extensions/org/eclipse/swt/internal/extension/NetworkStatus.java	Fri Jun 11 13:33:44 2010 +0300
@@ -109,19 +109,27 @@
 		handleCallInformationChanged();
 	}
 	
+	private static Display getDisplay() {
+		Display display;
+		display = Internal_PackageSupport.getInternalDisplayInstance();
+		if(display == null) {
+			display = Internal_PackageSupport.getDisplayInstance();
+		}
+		return display;
+	}
+	
 	private static void addDisposeListener() {
-		Display display = Internal_PackageSupport.getDisplayInstance();
 		disposeListener = new Listener() {
 			public void handleEvent(Event event) {
 				destroy();
 			}
 		};
-		display.addListener(SWT.Dispose, disposeListener);
+		getDisplay().addListener(SWT.Dispose, disposeListener);
 	}
 	
 	private static void removeDisposeListener() {
 		if(disposeListener != null) {
-			Display display = Internal_PackageSupport.getDisplayInstance();
+			Display display = getDisplay();
 			if(display != null && !display.isDisposed()) {
 				display.removeListener(SWT.Dispose, disposeListener);
 				disposeListener = null;
@@ -130,7 +138,7 @@
 	}
 	
 	private static void checkThread() {
-		Display display = Internal_PackageSupport.getDisplayInstance();
+		Display display = getDisplay();
 		if(display == null) {
 			throw new RuntimeException("Display doesn't exist");
 		}
@@ -207,7 +215,7 @@
     	if(notifiedStates != 0) {
     	    final NetworkStatusListener asyncNofityListener = listener; 
     	    final int asyncNotifyStates = notifiedStates;
-    		Internal_PackageSupport.getDisplayInstance().asyncExec(new Runnable() {
+    	    getDisplay().asyncExec(new Runnable() {
 				public void run() {
 					asyncNofityListener.stateChanged(asyncNotifyStates);
 				}
@@ -255,7 +263,7 @@
 	private void hookEvents() {
 		// Packet data connections
 		if(qNetworkConfigurationManagerHandle != 0) {
-	        int signalProxy = org.eclipse.swt.internal.qt.OS.SignalHandler_new(
+	        int signalProxy = org.eclipse.swt.internal.qt.OS.SignalForwarder_new(
 	        		qNetworkConfigurationManagerHandle, this, OS.QSIGNAL_NETWORKCONFIGURATIONCHANGED);
 	        org.eclipse.swt.internal.qt.OS.QObject_connectOrThrow(
 	        		qNetworkConfigurationManagerHandle, 
@@ -276,7 +284,7 @@
 		
         // Voice calls
         if(xqCallInfoHandle != 0) {
-	        int signalProxy = org.eclipse.swt.internal.qt.OS.SignalHandler_new(
+	        int signalProxy = org.eclipse.swt.internal.qt.OS.SignalForwarder_new(
 	        		xqCallInfoHandle, this, OS.QSIGNAL_CALLINFORMATIONCHANGED);
 	        org.eclipse.swt.internal.qt.OS.QObject_connectOrThrow(
 	        		xqCallInfoHandle,