summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2010-10-08 18:32:39 +0200
committerLuboš Luňák <l.lunak@suse.cz>2010-10-08 18:32:39 +0200
commit3f04560a2a180c00a5a3f99b222eea86af7d2fba (patch)
tree567dd274ad77b03615fec5164d143d917e2352b6
parenta92fd9f05f61b5d9c46fedbae3a801b91b41c84b (diff)
Revert "i#112421# make Presenter Screen default to the laptop, not projector"
This reverts commit dbbfe692dfbde95f0a21997dd8f88fd009286964. This crashes with anything but GNOME (try OOO_FORCE_DESKTOP=none).
-rw-r--r--vcl/unx/gtk/app/gtkdata.cxx29
-rw-r--r--vcl/unx/inc/plugins/gtk/gtkdata.hxx2
-rw-r--r--vcl/unx/inc/saldisp.hxx4
-rw-r--r--vcl/unx/source/app/saldisp.cxx8
-rw-r--r--vcl/unx/source/app/salsys.cxx2
5 files changed, 6 insertions, 39 deletions
diff --git a/vcl/unx/gtk/app/gtkdata.cxx b/vcl/unx/gtk/app/gtkdata.cxx
index fdca512960a1..8ccb6a08b34f 100644
--- a/vcl/unx/gtk/app/gtkdata.cxx
+++ b/vcl/unx/gtk/app/gtkdata.cxx
@@ -217,12 +217,11 @@ void GtkSalDisplay::monitorsChanged( GdkScreen* pScreen )
{
gint nMonitors = gdk_screen_get_n_monitors(pScreen);
m_aXineramaScreens = std::vector<Rectangle>();
- m_aXineramaScreenIndexMap = std::vector<int>(nMonitors);
for (gint i = 0; i < nMonitors; ++i)
{
GdkRectangle dest;
gdk_screen_get_monitor_geometry(pScreen, i, &dest);
- addXineramaScreenUnique( i, dest.x, dest.y, dest.width, dest.height );
+ addXineramaScreenUnique( dest.x, dest.y, dest.width, dest.height );
}
m_bXinerama = m_aXineramaScreens.size() > 1;
if( ! m_aFrames.empty() )
@@ -236,32 +235,6 @@ void GtkSalDisplay::monitorsChanged( GdkScreen* pScreen )
}
}
-extern "C"
-{
- typedef gint(* screen_get_primary_monitor)(GdkScreen *screen);
-}
-
-int GtkSalDisplay::GetDefaultMonitorNumber() const
-{
- GdkScreen* pScreen = gdk_display_get_screen( m_pGdkDisplay, m_nDefaultScreen );
-#if GTK_CHECK_VERSION(2,20,0)
- return m_aXineramaScreenIndexMap[gdk_screen_get_primary_monitor(pScreen)];
-#else
- static screen_get_primary_monitor sym_gdk_screen_get_primary_monitor =
- (screen_get_primary_monitor)osl_getAsciiFunctionSymbol( GetSalData()->m_pPlugin, "gdk_screen_get_primary_monitor" );
- if (sym_gdk_screen_get_primary_monitor)
- return sym_gdk_screen_get_primary_monitor( pScreen );
- //gdk_screen_get_primary_monitor unavailable, take the first laptop monitor as the default
- gint nMonitors = gdk_screen_get_n_monitors(pScreen);
- for (gint i = 0; i < nMonitors; ++i)
- {
- if (g_ascii_strncasecmp (gdk_screen_get_monitor_plug_name(pScreen, i), "LVDS", 4) == 0)
- return m_aXineramaScreenIndexMap[i];
- }
- return 0;
-#endif
-}
-
void GtkSalDisplay::initScreen( int nScreen ) const
{
if( nScreen < 0 || nScreen >= static_cast<int>(m_aScreens.size()) )
diff --git a/vcl/unx/inc/plugins/gtk/gtkdata.hxx b/vcl/unx/inc/plugins/gtk/gtkdata.hxx
index 7a24b2df0a6d..d4dec957a6b3 100644
--- a/vcl/unx/inc/plugins/gtk/gtkdata.hxx
+++ b/vcl/unx/inc/plugins/gtk/gtkdata.hxx
@@ -73,8 +73,6 @@ public:
virtual long Dispatch( XEvent *pEvent );
virtual void initScreen( int nScreen ) const;
- virtual int GetDefaultMonitorNumber() const;
-
static GdkFilterReturn filterGdkEvent( GdkXEvent* sys_event,
GdkEvent* event,
gpointer data );
diff --git a/vcl/unx/inc/saldisp.hxx b/vcl/unx/inc/saldisp.hxx
index bd823be95453..78de508ed6ef 100644
--- a/vcl/unx/inc/saldisp.hxx
+++ b/vcl/unx/inc/saldisp.hxx
@@ -386,7 +386,6 @@ protected:
bool m_bXinerama;
std::vector< Rectangle > m_aXineramaScreens;
- std::vector< int > m_aXineramaScreenIndexMap;
std::list<SalFrame*> m_aFrames;
std::list<SalObject*> m_aSalObjects;
@@ -402,7 +401,7 @@ protected:
int processRandREvent( XEvent* );
void doDestruct();
- void addXineramaScreenUnique( int i, long i_nX, long i_nY, long i_nWidth, long i_nHeight );
+ void addXineramaScreenUnique( long i_nX, long i_nY, long i_nWidth, long i_nHeight );
public:
static SalDisplay *GetSalDisplay( Display* display );
static BOOL BestVisual( Display *pDisp,
@@ -474,7 +473,6 @@ public:
XLIB_Window GetDrawable( int nScreen ) const { return getDataForScreen( nScreen ).m_aRefWindow; }
Display *GetDisplay() const { return pDisp_; }
int GetDefaultScreenNumber() const { return m_nDefaultScreen; }
- virtual int GetDefaultMonitorNumber() const { return 0; }
const Size& GetScreenSize( int nScreen ) const { return getDataForScreen( nScreen ).m_aSize; }
srv_vendor_t GetServerVendor() const { return meServerVendor; }
void SetServerVendor() { meServerVendor = sal_GetServerVendor(pDisp_); }
diff --git a/vcl/unx/source/app/saldisp.cxx b/vcl/unx/source/app/saldisp.cxx
index c6d8953f62c8..f81f25673995 100644
--- a/vcl/unx/source/app/saldisp.cxx
+++ b/vcl/unx/source/app/saldisp.cxx
@@ -2682,7 +2682,7 @@ void SalDisplay::PrintInfo() const
sal::static_int_cast< unsigned int >(GetVisual(m_nDefaultScreen).GetVisualId()) );
}
-void SalDisplay::addXineramaScreenUnique( int i, long i_nX, long i_nY, long i_nWidth, long i_nHeight )
+void SalDisplay::addXineramaScreenUnique( long i_nX, long i_nY, long i_nWidth, long i_nHeight )
{
// see if any frame buffers are at the same coordinates
// this can happen with weird configuration e.g. on
@@ -2696,13 +2696,11 @@ void SalDisplay::addXineramaScreenUnique( int i, long i_nX, long i_nY, long i_nW
if( m_aXineramaScreens[n].GetWidth() < i_nWidth ||
m_aXineramaScreens[n].GetHeight() < i_nHeight )
{
- m_aXineramaScreenIndexMap[i] = n;
m_aXineramaScreens[n].SetSize( Size( i_nWidth, i_nHeight ) );
}
return;
}
}
- m_aXineramaScreenIndexMap[i] = m_aXineramaScreens.size();
m_aXineramaScreens.push_back( Rectangle( Point( i_nX, i_nY ), Size( i_nWidth, i_nHeight ) ) );
}
@@ -2730,7 +2728,7 @@ void SalDisplay::InitXinerama()
m_bXinerama = true;
m_aXineramaScreens = std::vector<Rectangle>();
for( int i = 0; i < nFramebuffers; i++ )
- addXineramaScreenUnique( i, pFramebuffers[i].x,
+ addXineramaScreenUnique( pFramebuffers[i].x,
pFramebuffers[i].y,
pFramebuffers[i].width,
pFramebuffers[i].height );
@@ -2748,7 +2746,7 @@ if( XineramaIsActive( pDisp_ ) )
m_aXineramaScreens = std::vector<Rectangle>();
for( int i = 0; i < nFramebuffers; i++ )
{
- addXineramaScreenUnique( i, pScreens[i].x_org,
+ addXineramaScreenUnique( pScreens[i].x_org,
pScreens[i].y_org,
pScreens[i].width,
pScreens[i].height );
diff --git a/vcl/unx/source/app/salsys.cxx b/vcl/unx/source/app/salsys.cxx
index 84c9dba32e40..1ccb214df4ed 100644
--- a/vcl/unx/source/app/salsys.cxx
+++ b/vcl/unx/source/app/salsys.cxx
@@ -71,7 +71,7 @@ bool X11SalSystem::IsMultiDisplay()
unsigned int X11SalSystem::GetDefaultDisplayNumber()
{
SalDisplay* pSalDisp = GetX11SalData()->GetDisplay();
- return pSalDisp->IsXinerama() ? pSalDisp->GetDefaultMonitorNumber() : pSalDisp->GetDefaultScreenNumber();
+ return pSalDisp->GetDefaultScreenNumber();
}
Rectangle X11SalSystem::GetDisplayScreenPosSizePixel( unsigned int nScreen )