From a4d7462361099a5b72efa22758cd76f50dcf2cee Mon Sep 17 00:00:00 2001
From: 1004268 <isaac.pedrozaaguirre@student.unimelb.edu.au>
Date: Thu, 24 Oct 2019 22:31:13 +1100
Subject: [PATCH] Pop-ups bug fixed and exitbutton updated

---
 .idea/workspace.xml                           |  35 +------
 .../GUI/ApplicationMain$1.class               | Bin 2568 -> 685 bytes
 .../infinitymonkeys/GUI/ApplicationMain.class | Bin 4533 -> 5480 bytes
 .../infinitymonkeys/GUI/ChatScreen$1.class    | Bin 3027 -> 3123 bytes
 .../infinitymonkeys/GUI/StartScreen$2.class   | Bin 771 -> 782 bytes
 .../infinitymonkeys/GUI/StartScreen.class     | Bin 6289 -> 6295 bytes
 .../infinitymonkeys/client/Client.class       | Bin 5948 -> 5948 bytes
 src/GUI/ApplicationMain.java                  |  98 +++++++++---------
 src/GUI/ChatScreen.java                       |  14 +--
 src/GUI/StartScreen.java                      |   5 +-
 src/client/Client.java                        |   1 -
 11 files changed, 57 insertions(+), 96 deletions(-)

diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 78f9140..307e286 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,32 +2,17 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="688d774d-cfc7-4b0d-b00c-5ca931aba600" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ApplicationMain$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ApplicationMain$1.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ApplicationMain.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ApplicationMain.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen$1.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea$1.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea$Mode.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea$Mode.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI$1.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen$2.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/Client.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/Client.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ClientUpdate$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ClientUpdate$1.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ClientUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ClientUpdate.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/DrawingUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/DrawingUpdate.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IDrawingController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IDrawingController.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IDrawingUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IDrawingUpdate.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ChatController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ChatController.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ClientController$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ClientController$1.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ClientController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ClientController.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/DrawingController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/DrawingController.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/GUI/ApplicationMain.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/ApplicationMain.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/GUI/StartScreen.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/StartScreen.form" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/GUI/ChatScreen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/ChatScreen.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/GUI/StartScreen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/StartScreen.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/client/Client.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/client/Client.java" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -39,20 +24,6 @@
     <option name="testRunner" value="GRADLE" />
     <option name="delegatedBuild" value="true" />
   </component>
-  <component name="FindInProjectRecents">
-    <findStrings>
-      <find>RMI</find>
-      <find>Black</find>
-      <find>colorOptions</find>
-      <find>Send</find>
-      <find>message</find>
-      <find>userSelectComboBox</find>
-      <find>updateUserList</find>
-      <find>send</find>
-      <find>broadcastMessage</find>
-      <find>sent</find>
-    </findStrings>
-  </component>
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
     <option name="RECENT_BRANCH_BY_REPOSITORY">
diff --git a/out/production/infinitymonkeys/GUI/ApplicationMain$1.class b/out/production/infinitymonkeys/GUI/ApplicationMain$1.class
index b1187184a7d1df0393b5425a90f5fec5ae5752c4..9da93fe0fd73725e577d5b9ba69a3176d358c79e 100644
GIT binary patch
delta 290
zcmeAWS<9+@>ff$?3=9k=3`(2~EDVxd46F=NTnyq2((DW}><qGu3~VJCnZ+swj0~a^
z4~S0Oylt`|liFl2CNohv9tL>^1s(=A26i3>4iHO`L1A(~bA}doa!!76YItT|N`5(m
z0s{*JD+2=qqksTNDFXuo69WSS2LmSqBLmlDDR$|4ZUzPhHU>rp28LV)9tH*mF|Z0Q
z23`h!1`yx^>tkeKWDsBw1nFX6U~phy1gqlE+QPuNje&V1*j$iFTww7+26l!bB-1$H
trg1O`F$gm-GB7iUfc1z<F^DlRFt9L)Ge|J-F)%Q2F)%W)fb3;p002NG96$g7

literal 2568
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
W80;AA8PpjV7`PZ1!6C%JzyJW`;FE3u

diff --git a/out/production/infinitymonkeys/GUI/ApplicationMain.class b/out/production/infinitymonkeys/GUI/ApplicationMain.class
index 8d3bcf45652a542e4c792856d549a3c58e7915e7..1bf2fdcad9c9b55e317a65ae344460242967937c 100644
GIT binary patch
delta 2985
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
F7yyu9aN_^~

delta 1954
zcmaE%wN<(P)W2Q(7#J8#7(R0{*f11>h!PM{3L?rl7|J;qD%cq+xfs|PsyG;`xfp5~
zYPlFh80xqf>KPi?85%)!6Bk1>LkkB(D+faxNM$=0gDpb`J3}W(Wfwa`Hy48#Ll-+k
z4+ldp7lQ;tABgA&5%m+;876Wu$TD<rF-&5Z3{p3RgJCL&GmVo$gkd@d!wis}GeIWJ
z0<mUuGt6O_%g!*5i$RlNK1g^07sEn^MO+Mv8J4g!EahU*V^{_<dO3(#0U}m{h*cnB
zHHcUPBGz&;tYcWuA<nRYi(w<fCXmo(knvmC8Md-BY}*{lD9XebGdY{NmVGNb!*+It
zd6VBWD++KWCMTyB7poW;7%(!ZY4}XO$R;dit?84TlbM=VqVEi*tQi@YDhwu9v8V~z
zGdS=tI5If#FgP=~@G!VCxJ_QmQpCK2VdrEeR%cOmhFv@i?hGD047(ZjuruuCVc5qI
zJh`4#lzTtJ0d|IiJPd~zA|}sgb&@;GaD;~;ks*bVfzLhEQ{Oowu_QRTC^a<?B$_n&
zKdWV8BEwN0hGPuJc^FPGoMdDW%}Ojw)K4rg(Ra!(N=Ys9NvzB-En#Qa&ckqu;WQ7!
z8HTfr3@qWP#U(rp=NQiOFkE1`$jHFrng|lO#1O&5a2aIa6^5(q4A*!Vt}`5+Jd;gU
z;s!$s55rA{TkH(Cc^K|6++}CD$HQ=+;lbo{Y*KNF3=er29x*)TVR*vul!xIN!*d>n
z7a$kCWO&8H@EW8wm*F@&!y6ukw+!zX86-Rv5_1(Y^Au7mGD{Q^3kq^FlM_oa^Yhpl
z-t#bg0NMW$r0EmL<HDf8-u#H&jkTUVC9}97zc`hVL9{rvBrLNyGbtxExFoR%8Ym2k
z3^ok53=9k`3``963=Rwo3{0SC0MpJ4E@0Y~!Ht1|ft!I56ax&544w=O4EhX=42%p6
z46IsP7??JIm3c8RFtC9IMHsvp7#MgM80$eQ7<?Ff85kHC8T=UhvFK(-*DVIqjiNb#
zArOmZ7Ie*$D4OeGRtGTzLv_1=y~@DA!zjcm#Ky9Nfx||64cz@)3``6R46+Pd3<_X_
z#K3$Ws24!8Aq=5luZLkXkrU0t1O^5MkR}EO6$UN_bpl3)Gekfgd6a>JfrWvA!9!~c
z1LHOZu5Aq5+ZcFkr1vuL`ZC+eN-tuN)sY3sO}@yl%jh-vKfiK4D9BA1SQ$ha<QXCv
zLK&Dr`k@ZzW3Xa~0y|uo!IUAIA%=m8!Ht25A(kPIftewmfq{XSf$1NEC?h*V0^=_R
zIR-|CM1~}&W741@rlhr<L0C(BD+8m}ZU&J^?d=SrTN#+Nb~A{9*xce<8JIUh0&?;i
z0cll`dmzE51a$=igAzE6fl^K~Lkh_F$!`QC>RDKJFi2}{VPM(DAmgLGn?W{mJA>Rd
z26=6*Eey=t7!-sQw=pPzI80j@l!a8bF(`o&9mxCJ7*w}0s6klj5K46?g9a1Bat01x
zoox(SAcfl)w0AJ*Kv~-ubU`-lX3&e&+RmWAjln?6YYPL5Aj<|prajvj3_+5N+Zc>M
zH1jqFV<>F`qPH=af+(0Y%QgnHjSP$oJ`C{;Ner3{%nV+W&kEYsFJhR^u$W;!!xDz&
z3`-f-Gc04+#;}}WAHxcUV+<?7NkD;tnIV~hg&~z84V=D?Ljy>XVI4y{Lk0sQI7);W
znEo>)F)*<+WU@14F)*?-WV0|ZGUPx)j)8$8l7R`F-Q+hhm<w5KW3U9dj=6ptgBggi
zjll{MBG%AYVPIeoV_;=qU|7Sz!LXJ=fMFejIKz4dIfe}kpt$0Jm<4qTBSS9S9#5z}
z;vi!|z6OOQ#B5OTBaG(*CAwmU%?un2TNuO`wj!A;4l!4NgCUP09~ARwWe6jBM&?7(
b%*s#zE<%_X3c(4ih`|n=u^1Wj7{CAk!%=1x

diff --git a/out/production/infinitymonkeys/GUI/ChatScreen$1.class b/out/production/infinitymonkeys/GUI/ChatScreen$1.class
index 0ccd94a6c9cf6ed21c140b999fcac6194e1b59c8..07f8ee41c99d3c6317448f4b363d6dad253fe0b1 100644
GIT binary patch
delta 1354
zcmcaCzFDIF)W2Q(7#J8#7`AdUXfXJ4F=#UQaWVKa1aL9<Fa&~#ATEYrh7b;hP!Ju)
z$>75f&czVH5Xs39#SqQG5W~d~%Mb@r7|+F!z>o+sA&G+_nTsKXAr+)Bjhi8zAp=BY
zvNL3HF^Dl_gH-3RGvsnHxJxqlaWLd@F-S7xgNP)Mjsh-*LWUxcqGAxY1jH)kU?}5e
zC}*euaVj|&sz97-c7_^uhFW%px{X^FGYZtRGc>R>WPt@6*%_K9r!yHlHS;iNGwARz
z=rXjhGc@urv@*2uFtjst@Gx{Tbg?sZ^Dy)<^fEFq@G$f-^z$%GV3^3xFo}m@GQ$*h
zhN(OZ(-@{tzQZJ8F@uL;CP;o3!)$hjIXnz=LB`Aj>11}y$zf-x=V6%7uz-hQAww@a
zLjw=PB8J603`-c6PS#<TtzX8_!o#qfp@We@JS(v*Q9ma!FI_*lq$o2l-KjJ)CndFr
zkwMnABC|xHC_g_}A*r;aBtK7~peVJtI5kBfsnSY;hhYW7N*;z)46E50*6=W_1sS*w
z<cakR8+aHtGR$UV5ckeZ&Q{1TEkV=I&cNNo!>|eDp3Mv$lh-h-F>hg5y!k5gDrPRW
z#Dap<yc9+T-N}WlBK1BvTxZS5Ae5e3;#g3SlbM`Yl9`|9o0yr$$RMtv>Ej;isgEXM
z&B!2(MVOI+J2@x6I5j*oFD1X6k%22QIXShsSjEJ^fRRBsJ+)+VGrQsBo9rgC8Vs5Y
zj0{=~i~<6n$YWq&U}9ik&}GnLU}Vsrti>U1Yrw$3z{bGHz`&5mV93D0AO=>!#bCr>
z!T<tXV10}Xj0~m>W*}V*3`{Q=SQuCt7#I^LH*vJp-_hR2z^t`}fpG_e#4-lcO$^+-
z86+dOGe`+ZZ)1=FNo--@+{PfhjX`D`gX}g2Ubv9lHU|0S4090r6_znL!(|nHLChTt
zO4}Itw=oF#ZDQaSQr^bEs{;~-7^%CHL1l6mr&PV_G6n~@FgA^97#h`?8N!z{a9OcP
zvTS1z-^jqsV8BqtP|G03@Q#s#k()t`(S|XMF_J+HEW^Oi#h}E%z>vbg$B@P#$&k*V
z%8<cez>v*g!H~-^S({6xemg@0!*PZthN}!M3=bGu8Qw8;FnnX^WaMDzW8`M&X5?k)
zWfWqVz$nTvkx`jp3ZovwR7M+y8H_FrGa17e<}yYy%w~*cn8TRBumBtrRSY}~?hM8Z
z<_s1LEDZGwtPGY6Rtzi*k__1l)(jR5ObiALAq+MQwhYXSybP@MQ0WH@Mhtcg_6$r6
z?-*3Tnwc4+VVW8BV6u!hFj-JU!lIiok->q%k%5uHiGhK^mx22qLmE4SGdqI|JA?Bt
z24N?52G^eqY)tn58Jrnd*csf|8Qj?!JlGkW85mula#*AwG7QWNp5O%N#o*1rz`(-b
V!@$5`%)r3F#lXm*0ZMBO3;@@$7%2b%

delta 1257
zcmdliaap|n)W2Q(7#J8#7*=sIs4#ePF{m<laWQx^_;4|JF!+K9KQ0D;h5!zRKoA|o
z$>6~d%*7DG5X#9A#t_cI5W&R|$q)rn7|q2H!w?HHA&!F~o{J%YArYi7iJKvrAq7OF
zvNNP{F^DmwgH&gL<T6b;7_zt-vKewfLb)I!4@Bg1Fcg4<3qhPB4u)b7r-YrMl%1iB
zouPc=vBiu673>U^><npO!76r!>dBQ%#!fXn4C)LTJPeu)wd@R4JPdUV^*js>42?Vt
zO$^QK3@tnitqg693=BLB?F=0}44n*J><ryJ3_T3J><oQ84E+ofCck5nu$aihFbO0-
znPCb$!&DxIX&_^!gLE=G=H#$5RPZp&V3^6nFpHs$ouQJ4VK&1Y9)`IL^CsId%L>eA
zsO4c;0J3u-!y-loiOCJj65{L()jSM~L1r!iNiPLSFJqW8c^|VB7Z1a7kp2}6jgy};
zt1+)+n6sIWWfk+}Kn_!7mcr7^5=I8T)QZd!=ZwUX;N+sz)I3H8uEgZz)Z$_l69a?E
zEgWX`Dh#R&j0|cFi~<6n5MW?nU}9ik&}7hJU}Vr{U|_IgU;>M9X=!g|VAR^qz_byp
zMu&lcfsKKYfq@~BL6?DnK@6gbL65<J0R*_frZF-wG8i%#LCj({Wnf`oWnf@T(cZ?u
zthI%KaR<X>OU|15`v|_oG6oBf%oYaDZ48pWn;5u-q_#2e>cGW>cQQybF@U(+7-W_+
zaQNwNV-R1?Fb83T>@o&tkUZ1~5OW8E+%^XOZ43f_AOq!54b-jQ$)Lc@5Wbv&%Zf#k
z1#Fxj!Z^ic3=SYOa2ltCX53B&WfapkGO#chFjO(rGKeuOVA#)ah(V0uBO^B>AA=a9
zJ!2$e3=e}C12Y3CKo>D+Oy0s}TfcyziD3mpGs6ys7KZ%{oeYN<+87QqbTAxe=wdj<
z(9Ljzp^xD)LqEeuhDi)R874DwGt6M*W0=Y)z%ZRrlwlU51jB4bHHLYNh79u=?HLv^
zx-%?hjAU5O7{joXF^*vwV=}`kaHRDy@G-bE7&90%m@u#~)HAR$m@=3#u+%e1GGsHD
zGng<iF&Hp}Fjz2HGB7h7W?%tJGczn;P-n1Wux4Ol6o6@Ac+6k~5o7qspaM3KnK2F~
z%LqyX5FPd~Sx`EFr545%1{(%j21W)u1_p*?hI-zAp!{ji&fvh#VE>Cj*omFN@h1Zt
z(|-ml24;2!Cw2yBb_N#)Ms^0rUkofv{~4SaSm46!4EA6dhz1-o49pC!;B@T9;LgCn
Zz{23cz`&r-z`(%8z{tR^0!qOQ3;>7==n4P;

diff --git a/out/production/infinitymonkeys/GUI/StartScreen$2.class b/out/production/infinitymonkeys/GUI/StartScreen$2.class
index d63c24176f2741b53b0d72388fafc5890ae9cdba..74f7a1f37aaa51d21871b6e1451170f89f8a8321 100644
GIT binary patch
delta 144
zcmZo>>tma6D1<LLKer%1FEy_uI3vG2kC8!1!zU}TEKxtPyhJ~>EH$r0-x;RD6~wjH
v3}a+qOl4${$Ej{IA7j0wJT6l<FJ|Oo<Sk*~Vkl)0WGG{hWT=?Di^&rJ|I{xv

delta 133
zcmeBUYi65p$cLvqGcP5-+`k|-FExdcL0-crE3qt5Ke4<-Kea41uS7o_Ebj_pTWf|f
tGBBnxGRR<8G+B(XUQ7n7{>|$cxfpp%8MqkA7z7#086+7hCm&_<1OTf=Dxm-X

diff --git a/out/production/infinitymonkeys/GUI/StartScreen.class b/out/production/infinitymonkeys/GUI/StartScreen.class
index 8d5fb0f0d4f8e88d6b689cd43333c99d91cde9aa..a4214e9bb0dfb7117a8ca674a28ce3af7da6bfe8 100644
GIT binary patch
delta 122
zcmbPeINfkVE4z_MVoHj0er`d2UTR*6PiApRYF=s)BZI1jPgY`CqJCm|iGFHXYF>#x
zT+!x@>`I)BRg<p>IIz|-a4^(OmK3yQZDe3&Xqp@?=+4^8z{=1zdAXn)W9Q^|f;No3
UleL8$Stl}ZGECWAD5Ss!0O&m?VgLXD

delta 101
zcmbPkIMHxJD?689VoFMQW?o8u`Q$)088!%W^LBP6PR8oVw*(wm>lio~>L<$!+Ojq=
zurf4HP84)!ZDU|%XrG)YC_ed!pgv>QWJ4j*$(%y!jD3?0g&bKYF>o?W-CQoDzy<&&
CuN;#A

diff --git a/out/production/infinitymonkeys/client/Client.class b/out/production/infinitymonkeys/client/Client.class
index 01942ac35f8d2e1bc20af17f188c1e8561b4718c..880fad11de6ed664c25e794417fd4a85cf09d5d8 100644
GIT binary patch
delta 191
zcmdm^w?}V7p)hAH13N<<gCIlw<SJo%)+PpahUUqR0-~EQ3x8*<?`Pm*n83i#Fo{8u
zVKRdZ!!!nchUpAe3^N#<8D=rWGt6eFW|+e;g<&4ULWTtl2N@PIoMc$caGGH`!#RdE
z3>O$SGF)ZY#BhsYGs9<wtqi{zwlVTDY-f~b*uiMXu#3@`VK-wM!(PT>hW(6_84fbe
yW;nz+m*E)We1_AE3mGmjE@oo5G}&9MjrBSMKf{g5*Th^|Z!_>R+?lK(E&~8&3^?on

delta 191
zcmdm^w?}V7p)hA113N=KgCIl0<SJo%)@BBFhL*{W0-~EQ3x8*<pTNMyFp+_uVKRdx
z!xRP?hUpCY3^N$47-lj!Gt6d)XPCoK%`lf?3d4Mcg$xTB4l*oeILWYt;WWbvhI0&S
z87?qvVz|n%nc)`07KYCZ+ZcW`Y-i+U*uf~zu#?e{VK<{M!yd*ohJB313<nq|GaO=^
y&2X4;F2ixg`3z?m7cyLAT+GC9d9t@y8|w`QeukTquZg*`-eKTnxI0-vTm}GjJUJEs

diff --git a/src/GUI/ApplicationMain.java b/src/GUI/ApplicationMain.java
index 2e6823a..0c3cc61 100644
--- a/src/GUI/ApplicationMain.java
+++ b/src/GUI/ApplicationMain.java
@@ -15,7 +15,7 @@ public class ApplicationMain extends JPanel {
     private Client client;
     private ChatScreen chatScreen;
     private PaintGUI paintGUI;
-    private JFrame frame;
+    JFrame frame;
 
     public ChatScreen getChatScreen() { return chatScreen; }
 
@@ -110,52 +110,7 @@ public class ApplicationMain extends JPanel {
             @Override
             public void windowClosing(WindowEvent arg0)
             {
-
-                try {
-                    if (client.getUserName().equals(client.getClientController().getAdmin())) {
-
-                        int terminateAppAnswer = showManagerQuitMessage();
-                        // If the manager terminates the application
-                        if (terminateAppAnswer == 0) {
-                            client.getClientController().kickAll(client.getUserName());
-                            exitApplication();
-                        }
-                        else if (terminateAppAnswer == 1) {
-                            int answer = showNextManagerMessage();
-                            // If the manager wants to assign the next manager manually
-                            if (answer == 0) {
-                                String newManager = showAssignManagerMessage();
-                                client.getClientController().assignAdmin(client.getUserName(), newManager);
-                                client.getClientController().quit(client.getUserName());
-                                exitApplication();
-                            }
-                            // If the manager wants to assign the next manager by random choice
-                            if (answer == 1) {
-                                int numUsers = client.getChatScreen().getKickUserComboBox().getItemCount();
-                                Random random = new Random();
-                                int randomUserIndex = random.nextInt(numUsers);
-                                String newManager = client.getChatScreen().getKickUserComboBox().getItemAt(randomUserIndex).toString();
-                                client.getClientController().assignAdmin(client.getUserName(), newManager);
-                                client.getClientController().quit(client.getUserName());
-                                exitApplication();
-                            }
-                        }
-
-                    }
-                    else {
-                        int reply = JOptionPane.showConfirmDialog(null,
-                                "Are you sure you want to quit the session?",
-                                "Shut down session", JOptionPane.YES_NO_OPTION);
-                        if( reply == 0 )
-                        {
-                            client.getClientController().quit(client.getUserName());
-                            exitApplication();
-                        }
-                    }
-                } catch (RemoteException e) {
-                    e.printStackTrace();
-                }
-
+                closeWindow();
             }
         });
 
@@ -171,7 +126,6 @@ public class ApplicationMain extends JPanel {
     public void exitApplication(){
         System.out.println("I am in exit application");
         frame.setVisible(false);
-        frame.dispose();
         client.setVisibleStartScreen();
     }
 
@@ -179,4 +133,52 @@ public class ApplicationMain extends JPanel {
         frame.setVisible(true);
         chatScreen.setUserName(client.getUserName());
     }
+
+    public void closeWindow() {
+        try {
+            if (client.getUserName().equals(client.getClientController().getAdmin())) {
+
+                int terminateAppAnswer = showManagerQuitMessage();
+                // If the manager terminates the application
+                if (terminateAppAnswer == 0) {
+                    client.getClientController().kickAll(client.getUserName());
+                    exitApplication();
+                }
+                else if (terminateAppAnswer == 1) {
+                    int answer = showNextManagerMessage();
+                    // If the manager wants to assign the next manager manually
+                    if (answer == 0) {
+                        String newManager = showAssignManagerMessage();
+                        client.getClientController().assignAdmin(client.getUserName(), newManager);
+                        client.getClientController().quit(client.getUserName());
+                        exitApplication();
+                    }
+                    // If the manager wants to assign the next manager by random choice
+                    if (answer == 1) {
+                        int numUsers = client.getChatScreen().getKickUserComboBox().getItemCount();
+                        Random random = new Random();
+                        int randomUserIndex = random.nextInt(numUsers);
+                        String newManager = client.getChatScreen().getKickUserComboBox().getItemAt(randomUserIndex).toString();
+                        client.getClientController().assignAdmin(client.getUserName(), newManager);
+                        client.getClientController().quit(client.getUserName());
+                        exitApplication();
+                    }
+                }
+
+            }
+            else {
+                int reply = JOptionPane.showConfirmDialog(null,
+                        "Are you sure you want to quit the session?",
+                        "Shut down session", JOptionPane.YES_NO_OPTION);
+                if( reply == 0 )
+                {
+                    client.getClientController().quit(client.getUserName());
+                    exitApplication();
+                }
+            }
+        } catch (RemoteException e) {
+            e.printStackTrace();
+        }
+    }
+
 }
diff --git a/src/GUI/ChatScreen.java b/src/GUI/ChatScreen.java
index 6e86ccf..0e228cc 100644
--- a/src/GUI/ChatScreen.java
+++ b/src/GUI/ChatScreen.java
@@ -124,21 +124,11 @@ public class ChatScreen {
             }
             else if (e.getSource() == exitThisRoomButton)
             {
-                IClientController clientController = client.getClientController();
-                try
-                {
-                    System.out.println("Exit room button pressed");
-                    clientController.quit(client.getUserName());
-                    exitChatScreen();
-                }
-                catch (RemoteException ex)
-                {
-                    ex.printStackTrace();
-                }
+                System.out.println("Exit room button pressed by: " + client.getUserName());
+                client.getApplicationMain().closeWindow();
             }
             else if (e.getSource() == kickOutButton)
             {
-
                 IClientController clientController = client.getClientController();
                 String toUser = kickUserComboBox.getSelectedItem().toString();
 
diff --git a/src/GUI/StartScreen.java b/src/GUI/StartScreen.java
index 6b6a4b5..39a230f 100644
--- a/src/GUI/StartScreen.java
+++ b/src/GUI/StartScreen.java
@@ -111,9 +111,8 @@ public class StartScreen {
         //frame.getContentPane().add(new JPanelWithBackground("sample.jpeg"));
         frame.setVisible(true);
 
-        frame.addWindowListener(new WindowAdapter() {
-            @Override
-            public void windowOpened(WindowEvent e) {
+        frame.addComponentListener(new ComponentAdapter() {
+            public void componentShown(ComponentEvent e) {
                 if (isAppTerminated()){
                     showKickAllMessage();
                     setAppTerminated(false);
diff --git a/src/client/Client.java b/src/client/Client.java
index a241d33..a4b16f5 100644
--- a/src/client/Client.java
+++ b/src/client/Client.java
@@ -120,7 +120,6 @@ public class Client
         startScreen.setVisible();
     }
 
-
     public void startApplication()
     {
         applicationMain.createAndShowGUI();
-- 
GitLab