diff options
author | Petr Mladek <pmladek@suse.cz> | 2011-04-06 19:25:25 +0200 |
---|---|---|
committer | Petr Mladek <pmladek@suse.cz> | 2011-04-06 19:25:25 +0200 |
commit | a3cb4701f3f88ff1e94588eb4a993a77bb6f1547 (patch) | |
tree | a21bc8ecbf67e0e887f3d1b4fe1854d6a6830bbf /vcl | |
parent | 0e94340f897a98837d4ccdee0de8061a5d7ee949 (diff) | |
parent | 42f7c95c0250268c075adcc9b7100ac0923135d8 (diff) |
Merge remote-tracking branch 'origin/libreoffice-3-4'
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/gdi/gdimtf.cxx | 2 | ||||
-rw-r--r-- | vcl/unx/gtk/a11y/atkutil.cxx | 5 | ||||
-rw-r--r-- | vcl/unx/kde4/KDESalGraphics.cxx | 2 | ||||
-rw-r--r-- | vcl/unx/kde4/KDEXLib.cxx | 10 | ||||
-rw-r--r-- | vcl/unx/source/gdi/salgdi3.cxx | 2 |
5 files changed, 20 insertions, 1 deletions
diff --git a/vcl/source/gdi/gdimtf.cxx b/vcl/source/gdi/gdimtf.cxx index 79b8f417891b..849750ea20a9 100644 --- a/vcl/source/gdi/gdimtf.cxx +++ b/vcl/source/gdi/gdimtf.cxx @@ -439,6 +439,8 @@ void GDIMetaFile::Play( GDIMetaFile& rMtf, sal_uLong nPos ) rMtf.UseCanvas( rMtf.GetUseCanvas() || bUseCanvas ); + rMtf.UseCanvas( rMtf.GetUseCanvas() || bUseCanvas ); + if( nPos > nObjCount ) nPos = nObjCount; diff --git a/vcl/unx/gtk/a11y/atkutil.cxx b/vcl/unx/gtk/a11y/atkutil.cxx index 57380897c71e..f7e849e44e87 100644 --- a/vcl/unx/gtk/a11y/atkutil.cxx +++ b/vcl/unx/gtk/a11y/atkutil.cxx @@ -597,6 +597,7 @@ static void handle_menu_highlighted(::VclMenuEvent const * pEvent) long WindowEventHandler(void *, ::VclSimpleEvent const * pEvent) { + try { switch (pEvent->GetId()) { case VCLEVENT_WINDOW_SHOW: @@ -663,6 +664,10 @@ long WindowEventHandler(void *, ::VclSimpleEvent const * pEvent) default: break; } + } catch(lang::IndexOutOfBoundsException e) + { + g_warning("Focused object has invalid index in parent"); + } return 0; } diff --git a/vcl/unx/kde4/KDESalGraphics.cxx b/vcl/unx/kde4/KDESalGraphics.cxx index 95a913e6d5dd..c2ac0c76e3e3 100644 --- a/vcl/unx/kde4/KDESalGraphics.cxx +++ b/vcl/unx/kde4/KDESalGraphics.cxx @@ -433,6 +433,8 @@ sal_Bool KDESalGraphics::drawNativeControl( ControlType type, ControlPart part, const int width = kapp->style()->pixelMetric(QStyle::PM_ToolBarHandleExtent); QRect rect( 0, 0, width, widgetRect.height()); clipRegion = new QRegion( widgetRect.x(), widgetRect.y(), width, widgetRect.height()); + XRectangle xRect = { widgetRect.x(), widgetRect.y(), width, widgetRect.height() }; + XUnionRectWithRegion( &xRect, pTempClipRegion, pTempClipRegion ); QStyleOption option; option.state = QStyle::State_Horizontal; diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx index ce4ea14dadb5..03bcfca8e47e 100644 --- a/vcl/unx/kde4/KDEXLib.cxx +++ b/vcl/unx/kde4/KDEXLib.cxx @@ -219,6 +219,16 @@ static bool qt_event_filter( void* m ) return false; } +static bool ( *old_qt_event_filter )( void* ); +static bool qt_event_filter( void* m ) +{ + if( old_qt_event_filter != NULL && old_qt_event_filter( m )) + return true; + if( SalKDEDisplay::self() && SalKDEDisplay::self()->checkDirectInputEvent( static_cast< XEvent* >( m ))) + return true; + return false; +} + void KDEXLib::setupEventLoop() { old_qt_event_filter = QAbstractEventDispatcher::instance()->setEventFilter( qt_event_filter ); diff --git a/vcl/unx/source/gdi/salgdi3.cxx b/vcl/unx/source/gdi/salgdi3.cxx index 8f3c89a78c24..6d77f66662e4 100644 --- a/vcl/unx/source/gdi/salgdi3.cxx +++ b/vcl/unx/source/gdi/salgdi3.cxx @@ -1238,7 +1238,7 @@ X11SalGraphics::GetKernPairs( sal_uLong nPairs, ImplKernPairData *pKernPairs ) sal_Bool X11SalGraphics::GetGlyphBoundRect( long nGlyphIndex, Rectangle& rRect ) { int nLevel = nGlyphIndex >> GF_FONTSHIFT; - if( nLevel >= MAX_FALLBACK ) + if( nLevel < 0 || nLevel >= MAX_FALLBACK ) return sal_False; ServerFont* pSF = mpServerFont[ nLevel ]; |