javauis/eswt_qt/org.eclipse.swt/Eclipse_SWT_PI/qt/org/eclipse/swt/internal/qt/graphics/Utils.java
changeset 21 2a9601315dfc
child 35 85266cc22c7f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/eswt_qt/org.eclipse.swt/Eclipse_SWT_PI/qt/org/eclipse/swt/internal/qt/graphics/Utils.java	Mon May 03 12:27:20 2010 +0300
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Nokia Corporation - initial implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.qt.graphics;
+
+import org.eclipse.swt.widgets.Display;
+
+/** 
+ * Class for general utilities for common graphics
+ */
+final class Utils {
+	
+	/**
+	 * Validates that ui thread is created and execution is 
+	 * currently in ui thread.
+	 * 
+	 * @throws java.lang.Error if ui thread is not initialized or 
+	 * this method is not called within ui thread.
+	 */
+	static void validateUiThread() {
+		if (!Config.ENABLE_UI_THREAD_VALIDATION) {
+			return;
+		}
+		if (Display.getCurrent() == null) {
+			throw new Error("Ui thread not initialized or call was made outside ui thread");
+		} else {
+			Display display = Display.getCurrent();
+			if (Thread.currentThread() != display.getThread()) {
+				throw new Error("Call to common graphics object occured outside ui thread");
+			}
+		}
+	}
+
+}