PageRenderTime 45ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/libreoffice-3.6.0.2/scripting/java/com/sun/star/script/framework/provider/SwingInvocation.java

#
Java | 44 lines | 10 code | 4 blank | 30 comment | 0 complexity | 403864252dde00736b872fc1312bdaf3 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, LGPL-2.1, AGPL-1.0, BSD-3-Clause-No-Nuclear-License-2014, GPL-3.0, LGPL-3.0
  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. package com.sun.star.script.framework.provider;
  28. import javax.swing.SwingUtilities;
  29. // On Mac OS X, AWT/Swing must not be accessed from the AppKit thread, so call
  30. // SwingUtilities.invokeLater always on a fresh thread to avoid that problem
  31. // (also, the current thread must not wait for that fresh thread to terminate,
  32. // as that would cause a deadlock if this thread is the AppKit thread):
  33. public final class SwingInvocation {
  34. public static void invoke(final Runnable doRun) {
  35. new Thread("SwingInvocation") {
  36. public void run() { SwingUtilities.invokeLater(doRun); }
  37. }.start();
  38. }
  39. private SwingInvocation() {}
  40. }