- Home /
Errors when using GUILayout in ModalWindow
I am trying to show a modal window and fill it using GUILayout. I have done this in another script without any problems, and can't see what I'm doing differently here.
When I use "Begin/End Horizontal", I get this error: "ArgumentException: Getting control 1's position in a group with only 1 controls when doing Repaint". I have googled the error and other answers don't seem to be related.
 void OnGUI() {        
     if (UserLoggingIn) {
         GUI.ModalWindow(1, loginWindowRect, LoginWindow, "Login");
     }
 }
 
 void LoginWindow(int windowID) {
     GUILayout.BeginHorizontal();
     if (GUILayout.Button("Cancel")) {
         Debug.Log("Cancel");
     }
     if (GUILayout.Button("Login")) {
         Debug.Log("Login");
     }        
     GUILayout.EndHorizontal();
 }
If I remove the Horizontal lines, the error clears, but the buttons do not respond. I can highlight the buttons, but clicking them does nothing.
 void LoginWindow(int windowID) {
     if (GUILayout.Button("Cancel")) {
         Debug.Log("Cancel");
     }
     if (GUILayout.Button("Login")) {
         Debug.Log("Login");
     }        
 }
I'm wondering if another script could be interfering, but can't see how. Any ideas? The property UserLoggingIn is not being changed after initialisation. 
Answer by hamstar · Oct 22, 2013 at 03:42 PM
I only just asked the question, but I found what was causing it so might as well leave an answer for others.
The issue was that I was giving the ModalWindow an id that was already being used by another Window. Changing the id solved this. The error message was not particularly helpful!
 GUI.ModalWindow(2, loginWindowRect, LoginWindow, "Login");
Your answer
 
 
             Follow this Question
Related Questions
How to put a GUILayout button BESIDE another one instead of below? 1 Answer
GUI Layout. Can I end and begin a horizontal group automatically? 1 Answer
GUILayout Window Help 1 Answer
Small GUILayout button 1 Answer
Unity GUILayout Button 3 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                