summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@suse.cz>2010-11-01 13:54:40 +0100
committerJan Holesovsky <kendy@suse.cz>2010-11-01 13:54:40 +0100
commitbb7dd559d58281f40166d11112b2242838356e2a (patch)
treea4a414858e1b6505b94a596ad0230edf5b77afed /vcl
parent0bafc38b53e170a148b6f1e346a070bd2d77fe3b (diff)
parent5248ca01ee107220bf786f9e0b368206ac1facb4 (diff)
Merge commit 'ooo/OOO330_m13'
Conflicts: vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/vcl/svdata.hxx4
-rw-r--r--vcl/source/app/svdata.cxx1
-rw-r--r--vcl/source/control/spinfld.cxx5
-rw-r--r--vcl/source/window/brdwin.cxx6
-rw-r--r--vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx4
5 files changed, 14 insertions, 6 deletions
diff --git a/vcl/inc/vcl/svdata.hxx b/vcl/inc/vcl/svdata.hxx
index 8b180183a9b3..3229b6f1654d 100644
--- a/vcl/inc/vcl/svdata.hxx
+++ b/vcl/inc/vcl/svdata.hxx
@@ -315,6 +315,10 @@ struct ImplSVNWFData
// window background before drawing the native
// checkbox
bool mbScrollbarJumpPage; // true for "jump to here" behavior
+ bool mbCanDrawWidgetAnySize; // set to true currently on gtk
+ // signals that widgets can be drawn in any size and
+ // brdwin.cxx ImplSmallBorderWindowView::DrawWindow
+ // should not do GetNativeControlRegion
};
diff --git a/vcl/source/app/svdata.cxx b/vcl/source/app/svdata.cxx
index 9fa919802728..db166af1b295 100644
--- a/vcl/source/app/svdata.cxx
+++ b/vcl/source/app/svdata.cxx
@@ -109,7 +109,6 @@ void ImplInitSVData()
// init global instance data
memset( pImplSVData, 0, sizeof( ImplSVData ) );
pImplSVData->maHelpData.mbAutoHelpId = sal_True;
- pImplSVData->maHelpData.mbAutoHelpId = sal_True;
pImplSVData->maNWFData.maMenuBarHighlightTextColor = Color( COL_TRANSPARENT );
// find out whether we are running in the testtool
diff --git a/vcl/source/control/spinfld.cxx b/vcl/source/control/spinfld.cxx
index a85367326004..1124819af8ab 100644
--- a/vcl/source/control/spinfld.cxx
+++ b/vcl/source/control/spinfld.cxx
@@ -115,8 +115,9 @@ BOOL ImplDrawNativeSpinfield( Window *pWin, const SpinbuttonValue& rSpinbuttonVa
Size aSize( pBorder->GetOutputSizePixel() ); // the size of the border window, i.e., the whole control
Rectangle aBound, aContent;
Rectangle aNatRgn( aPt, aSize );
- if( pBorder->GetNativeControlRegion(CTRL_SPINBOX, PART_ENTIRE_CONTROL,
- aNatRgn, 0, rSpinbuttonValue, rtl::OUString(), aBound, aContent) )
+ if( ! ImplGetSVData()->maNWFData.mbCanDrawWidgetAnySize &&
+ pBorder->GetNativeControlRegion( CTRL_SPINBOX, PART_ENTIRE_CONTROL,
+ aNatRgn, 0, rSpinbuttonValue, rtl::OUString(), aBound, aContent) )
{
aSize = aContent.GetSize();
}
diff --git a/vcl/source/window/brdwin.cxx b/vcl/source/window/brdwin.cxx
index 7ee62467bfa5..ebb63f07b11b 100644
--- a/vcl/source/window/brdwin.cxx
+++ b/vcl/source/window/brdwin.cxx
@@ -1347,8 +1347,10 @@ void ImplSmallBorderWindowView::DrawWindow( USHORT nDrawFlags, OutputDevice*, co
Rectangle aBoundingRgn( aPoint, Size( mnWidth, mnHeight ) );
Rectangle aContentRgn( aCtrlRegion );
- if(pWin->GetNativeControlRegion( aCtrlType, aCtrlPart, aCtrlRegion,
- nState, aControlValue, rtl::OUString(), aBoundingRgn, aContentRgn ))
+ if( ! ImplGetSVData()->maNWFData.mbCanDrawWidgetAnySize &&
+ pWin->GetNativeControlRegion( aCtrlType, aCtrlPart, aCtrlRegion,
+ nState, aControlValue, rtl::OUString(),
+ aBoundingRgn, aContentRgn ))
{
aCtrlRegion=aContentRgn;
}
diff --git a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
index 423e254aed6a..b307f955cc2a 100644
--- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
@@ -412,12 +412,14 @@ void GtkData::initNWF( void )
// open first menu on F10
pSVData->maNWFData.mbOpenMenuOnF10 = true;
+ // omit GetNativeControl while painting (see brdwin.cxx)
+ pSVData->maNWFData.mbCanDrawWidgetAnySize = true;
+
int nScreens = GetX11SalData()->GetDisplay()->GetScreenCount();
gWidgetData = std::vector<NWFWidgetData>( nScreens );
for( int i = 0; i < nScreens; i++ )
gWidgetData[i].gNWPixmapCacheList = new NWPixmapCacheList;
-
if( SalGetDesktopEnvironment().equalsAscii( "KDE" ) )
{
// #i97196# ensure a widget exists and the style engine was loaded