1 /*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2011 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27 
28 package com.sun.star.script.framework.provider;
29 
30 import javax.swing.SwingUtilities;
31 
32 // On Mac OS X, AWT/Swing must not be accessed from the AppKit thread, so call
33 // SwingUtilities.invokeLater always on a fresh thread to avoid that problem
34 // (also, the current thread must not wait for that fresh thread to terminate,
35 // as that would cause a deadlock if this thread is the AppKit thread):
36 public final class SwingInvocation {
37     public static void invoke(final Runnable doRun) {
38         new Thread("SwingInvocation") {
39             public void run() { SwingUtilities.invokeLater(doRun); }
40         }.start();
41     }
42 
43     private SwingInvocation() {}
44 }
45