diff -r e8e63152f320 -r 2a9601315dfc javauis/eswt_qt/org.eclipse.swt/Eclipse_SWT_PI/qt/org/eclipse/swt/internal/qt/graphics/Utils.java --- /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"); + } + } + } + +}