diff options
-rw-r--r-- | vcl/Library_vcl.mk | 1 | ||||
-rw-r--r-- | vcl/source/window/debug.cxx | 48 | ||||
-rw-r--r-- | vcl/source/window/window.cxx | 24 |
3 files changed, 49 insertions, 24 deletions
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index 27179eac742a..aee5c13b8845 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -109,6 +109,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/window/legacyaccessibility \ vcl/source/window/clipping \ vcl/source/window/stacking \ + vcl/source/window/debug \ vcl/source/window/btndlg \ vcl/source/window/builder \ vcl/source/window/cmdevt \ diff --git a/vcl/source/window/debug.cxx b/vcl/source/window/debug.cxx new file mode 100644 index 000000000000..4aa875a658d9 --- /dev/null +++ b/vcl/source/window/debug.cxx @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#include <vcl/window.hxx> +#include <vcl/outdev.hxx> + +#include "window.h" + +#ifdef DBG_UTIL +const char* ImplDbgCheckWindow( const void* pObj ) +{ + DBG_TESTSOLARMUTEX(); + + const Window* pWindow = (Window*)pObj; + + if ( (pWindow->GetType() < WINDOW_FIRST) || (pWindow->GetType() > WINDOW_LAST) ) + return "Window data overwrite"; + + // check window-chain + Window* pChild = pWindow->mpWindowImpl->mpFirstChild; + while ( pChild ) + { + if ( pChild->mpWindowImpl->mpParent != pWindow ) + return "Child-Window-Parent wrong"; + pChild = pChild->mpWindowImpl->mpNext; + } + + return NULL; +} +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index 2291b7f08c88..063a7f5d7cad 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -298,30 +298,6 @@ Window::Window( Window* pParent, const ResId& rResId ) Show(); } - -#ifdef DBG_UTIL -const char* ImplDbgCheckWindow( const void* pObj ) -{ - DBG_TESTSOLARMUTEX(); - - const Window* pWindow = (Window*)pObj; - - if ( (pWindow->GetType() < WINDOW_FIRST) || (pWindow->GetType() > WINDOW_LAST) ) - return "Window data overwrite"; - - // check window-chain - Window* pChild = pWindow->mpWindowImpl->mpFirstChild; - while ( pChild ) - { - if ( pChild->mpWindowImpl->mpParent != pWindow ) - return "Child-Window-Parent wrong"; - pChild = pChild->mpWindowImpl->mpNext; - } - - return NULL; -} -#endif - bool Window::AcquireGraphics() const { DBG_TESTSOLARMUTEX(); |