From c67bc96278ea76372d896fb82fc6f3557feac446 Mon Sep 17 00:00:00 2001
From: Igor Borovkov <iborovkov@productengine.com>
Date: Thu, 18 Mar 2010 16:31:09 +0200
Subject: [PATCH] Backed out changeset f4c0761897c6  EXT-4820([NUX] Viewer
 dimensions on first-run)

by which "moved LLDisplayInfo to llwindow, implemented getting the width/height of screen for mac os and linux."

--HG--
branch : product-engine
---
 indra/llcommon/llsys.cpp              | 27 ++++++++++++++++++
 indra/llcommon/llsys.h                | 16 +++++++++++
 indra/llwindow/llwindow.cpp           | 27 ------------------
 indra/llwindow/llwindow.h             | 15 ----------
 indra/llwindow/llwindowmacosx-objc.h  |  1 -
 indra/llwindow/llwindowmacosx-objc.mm |  9 ------
 indra/llwindow/llwindowmacosx.cpp     | 20 -------------
 indra/llwindow/llwindowmacosx.h       |  2 --
 indra/llwindow/llwindowsdl.cpp        | 41 ---------------------------
 indra/llwindow/llwindowsdl.h          |  3 --
 indra/llwindow/llwindowwin32.cpp      | 11 -------
 indra/llwindow/llwindowwin32.h        |  3 --
 indra/newview/llappviewer.cpp         |  6 ++--
 13 files changed, 46 insertions(+), 135 deletions(-)

diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp
index 0272c55db21..0ed700b9da8 100644
--- a/indra/llcommon/llsys.cpp
+++ b/indra/llcommon/llsys.cpp
@@ -775,6 +775,33 @@ void LLMemoryInfo::stream(std::ostream& s) const
 #endif
 }
 
+S32 LLDisplayInfo::getDisplayWidth() const
+{
+#if LL_WINDOWS
+	return  ::GetSystemMetrics(SM_CXVIRTUALSCREEN);
+#elif LL_DARWIN
+	return 1024; //*FIXME
+#elif LL_SOLARIS
+	return 1024; //*FIXME
+#else
+	return 1024; //*FIXME
+#endif
+}
+
+S32 LLDisplayInfo::getDisplayHeight() const
+{
+#if LL_WINDOWS
+	return  ::GetSystemMetrics(SM_CYVIRTUALSCREEN);
+#elif LL_DARWIN
+	return 768; //*FIXME
+#elif LL_SOLARIS
+	return 768; //*FIXME
+#else
+	return 768; //*FIXME
+#endif
+}
+
+
 std::ostream& operator<<(std::ostream& s, const LLOSInfo& info)
 {
 	info.stream(s);
diff --git a/indra/llcommon/llsys.h b/indra/llcommon/llsys.h
index f1dda1b2e22..aa3fdd485bc 100644
--- a/indra/llcommon/llsys.h
+++ b/indra/llcommon/llsys.h
@@ -122,6 +122,22 @@ class LL_COMMON_API LLMemoryInfo
 	U32 getPhysicalMemoryClamped() const; ///< Memory size in clamped bytes
 };
 
+//=============================================================================
+//
+//	CLASS		LLDisplayInfo
+class LL_COMMON_API LLDisplayInfo
+
+/*!	@brief		Class to query the information about some display settings
+*/
+{
+public:
+	LLDisplayInfo(){}; ///< Default constructor
+
+	S32 getDisplayWidth() const; ///< display width
+	S32 getDisplayHeight() const; ///< display height
+	
+};
+
 LL_COMMON_API std::ostream& operator<<(std::ostream& s, const LLOSInfo& info);
 LL_COMMON_API std::ostream& operator<<(std::ostream& s, const LLCPUInfo& info);
 LL_COMMON_API std::ostream& operator<<(std::ostream& s, const LLMemoryInfo& info);
diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp
index b77deb003f4..1c6c9e6e9d2 100644
--- a/indra/llwindow/llwindow.cpp
+++ b/indra/llwindow/llwindow.cpp
@@ -407,30 +407,3 @@ BOOL LLWindowManager::isWindowValid(LLWindow *window)
 {
 	return sWindowList.find(window) != sWindowList.end();
 }
-
-S32 LLDisplayInfo::getDisplayWidth() const
-{
-#if LL_WINDOWS
-	return LLWindowWin32::getDisplayWidth();
-#elif LL_DARWIN
-	return LLWindowMacOSX::getDisplayWidth();
-#elif LL_SDL
-	return LLWindowSDL::getDisplayWidth();
-#else
-	return 1024; //*FIXME
-#endif
-}
-
-S32 LLDisplayInfo::getDisplayHeight() const
-{
-#if LL_WINDOWS
-	return LLWindowWin32::getDisplayHeight();
-#elif LL_DARWIN
-	return LLWindowMacOSX::getDisplayHeight();
-#elif LL_SDL
-	return LLWindowSDL::getDisplayHeight();
-#else
-	return 768; //*FIXME
-#endif
-}
-
diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h
index b769f5071bc..55b221e7161 100644
--- a/indra/llwindow/llwindow.h
+++ b/indra/llwindow/llwindow.h
@@ -281,19 +281,4 @@ extern const std::string gURLProtocolWhitelistHandler[];
 
 void simpleEscapeString ( std::string& stringIn  );
 
-//=============================================================================
-//
-//	CLASS		LLDisplayInfo
-class LLDisplayInfo
-
-/*!	@brief		Class to query the information about some display settings
-*/
-{
-public:
-	LLDisplayInfo(){}; ///< Default constructor
-
-	S32 getDisplayWidth() const; ///< display width
-	S32 getDisplayHeight() const; ///< display height
-};
-
 #endif // _LL_window_h_
diff --git a/indra/llwindow/llwindowmacosx-objc.h b/indra/llwindow/llwindowmacosx-objc.h
index 66851300d4a..ed5d7b1e745 100644
--- a/indra/llwindow/llwindowmacosx-objc.h
+++ b/indra/llwindow/llwindowmacosx-objc.h
@@ -40,5 +40,4 @@ void setupCocoa();
 CursorRef createImageCursor(const char *fullpath, int hotspotX, int hotspotY);
 OSErr releaseImageCursor(CursorRef ref);
 OSErr setImageCursor(CursorRef ref);
-void getScreenSize(int* width, int* height);
 
diff --git a/indra/llwindow/llwindowmacosx-objc.mm b/indra/llwindow/llwindowmacosx-objc.mm
index 6eca24ec1d4..59b25e17268 100644
--- a/indra/llwindow/llwindowmacosx-objc.mm
+++ b/indra/llwindow/llwindowmacosx-objc.mm
@@ -116,12 +116,3 @@ OSErr setImageCursor(CursorRef ref)
 	return noErr;
 }
 
-void getScreenSize(int* width, int* height)
-{
-	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-	NSRect screen_rect = [[NSScreen mainScreen] frame];
-	if (width)  *width  = (int)(screen_rect.size.width);
-	if (height) *height = (int)(screen_rect.size.height);
-	[pool release];
-}
-
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index 5b21e06fe2a..ad97bc45fc7 100644
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -3464,26 +3464,6 @@ MASK LLWindowMacOSX::modifiersToMask(SInt16 modifiers)
 	return mask;
 }	
 
-// static
-S32 LLWindowMacOSX::getDisplayWidth()
-{
-	S32 width = 1024;
-	// Need to invoke cocoa before use getScreenSize()
-	setupCocoa();
-	getScreenSize(&width, NULL);
-	return width;
-}
-
-// static
-S32 LLWindowMacOSX::getDisplayHeight()
-{
-	S32 height = 768;
-	// Need to invoke cocoa before use getScreenSize()
-	setupCocoa();
-	getScreenSize(NULL, &height);
-	return height;
-}
-
 #if LL_OS_DRAGDROP_ENABLED
 
 OSErr LLWindowMacOSX::dragTrackingHandler(DragTrackingMessage message, WindowRef theWindow,
diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h
index 86036a261c5..7c6b3240296 100644
--- a/indra/llwindow/llwindowmacosx.h
+++ b/indra/llwindow/llwindowmacosx.h
@@ -123,8 +123,6 @@ class LLWindowMacOSX : public LLWindow
 	// Provide native key event data
 	/*virtual*/ LLSD getNativeKeyData();
 
-	static S32 getDisplayWidth();
-	static S32 getDisplayHeight();
 
 protected:
 	LLWindowMacOSX(LLWindowCallbacks* callbacks,
diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index fe0ada5b094..1f705f9e60b 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -187,47 +187,6 @@ Display* LLWindowSDL::get_SDL_Display(void)
 }
 #endif // LL_X11
 
-// static
-S32 LLWindowSDL::getDisplayWidth()
-{
-#if LL_GTK
-	if (LLWindowSDL::ll_try_gtk_init())
-	{
-		return gdk_screen_width();
-	}
-#endif // LL_GTK
-
-#if LL_X11
-	Display *display = XOpenDisplay(NULL);
-	int screen_num = DefaultScreen(display);
-	S32 width = DisplayWidth(display, screen_num);
-	XCloseDisplay(display);
-	return width;
-#endif //LL_X11
-
-	return 1024;
-}
-
-// static
-S32 LLWindowSDL::getDisplayHeight()
-{
-#if LL_GTK
-	if (LLWindowSDL::ll_try_gtk_init())
-	{
-		return gdk_screen_height();
-	}
-#endif // LL_GTK
-
-#if LL_X11
-	Display *display = XOpenDisplay(NULL);
-	int screen_num = DefaultScreen(display);
-	S32 height = DisplayHeight(display, screen_num);
-	XCloseDisplay(display);
-	return height;
-#endif //LL_X11
-
-	return 768;
-}
 
 LLWindowSDL::LLWindowSDL(LLWindowCallbacks* callbacks,
 			 const std::string& title, S32 x, S32 y, S32 width,
diff --git a/indra/llwindow/llwindowsdl.h b/indra/llwindow/llwindowsdl.h
index 2311a361fab..e6bdd46a77f 100644
--- a/indra/llwindow/llwindowsdl.h
+++ b/indra/llwindow/llwindowsdl.h
@@ -148,9 +148,6 @@ class LLWindowSDL : public LLWindow
 	static Display* get_SDL_Display(void);
 #endif // LL_X11	
 
-	static S32 getDisplayWidth();
-	static S32 getDisplayHeight();
-
 protected:
 	LLWindowSDL(LLWindowCallbacks* callbacks,
 		const std::string& title, int x, int y, int width, int height, U32 flags,
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index 4be5d06c2b5..c80392ad456 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -3714,16 +3714,5 @@ std::vector<std::string> LLWindowWin32::getDynamicFallbackFontList()
 	return std::vector<std::string>();
 }
 
-// static
-S32 LLWindowWin32::getDisplayWidth()
-{
-	return ::GetSystemMetrics(SM_CXVIRTUALSCREEN);
-}
-
-// static
-S32 LLWindowWin32::getDisplayHeight()
-{
-	return ::GetSystemMetrics(SM_CYVIRTUALSCREEN);
-}
 
 #endif // LL_WINDOWS
diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h
index c221ec0192b..9d577357720 100644
--- a/indra/llwindow/llwindowwin32.h
+++ b/indra/llwindow/llwindowwin32.h
@@ -120,9 +120,6 @@ class LLWindowWin32 : public LLWindow
 
 	static std::vector<std::string> getDynamicFallbackFontList();
 
-	static S32 getDisplayWidth();
-	static S32 getDisplayHeight();
-
 protected:
 	LLWindowWin32(LLWindowCallbacks* callbacks,
 		const std::string& title, const std::string& name, int x, int y, int width, int height, U32 flags, 
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 8b3f3aa28e3..6d4c90c2b95 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -305,7 +305,7 @@ static std::string gLaunchFileOnQuit;
 // Used on Win32 for other apps to identify our window (eg, win_setup)
 const char* const VIEWER_WINDOW_CLASSNAME = "Second Life";
 static const S32 FIRST_RUN_WINDOW_WIDTH = 1024;
-static const S32 FIRST_RUN_WINDOW_HIGHT = 768;
+static const S32 FIRST_RUN_WINDOW_HRIGHT = 768;
 //----------------------------------------------------------------------------
 
 // List of entries from strings.xml to always replace
@@ -2375,12 +2375,12 @@ bool LLAppViewer::initWindow()
 	if (first_run)//for first login 
 	{
 		window_width = FIRST_RUN_WINDOW_WIDTH;//yep hardcoded
-		window_height = FIRST_RUN_WINDOW_HIGHT;
+		window_height = FIRST_RUN_WINDOW_HRIGHT;
 		
 		//if screen resolution is lower then 1024*768 then show maximized
 		LLDisplayInfo display_info;
 		if(display_info.getDisplayWidth() <= FIRST_RUN_WINDOW_WIDTH
-			|| display_info.getDisplayHeight()<=FIRST_RUN_WINDOW_HIGHT)
+			|| display_info.getDisplayHeight()<=FIRST_RUN_WINDOW_HRIGHT)
 		{
 			show_maximized = true;
 		}
-- 
GitLab