Honorable Member xP3NG3Rx 19773 Posted February 18, 2018 Honorable Member Share Posted February 18, 2018 Hello. I was looking inside the official python files and I found a little fix for this: Let me explain a bit the problem. If you leave open the inventory/dragon soul inventory/expanded taskbar or the affected objects and then you are using quest for teleportation, the windows what you left open will be closed because of the quest and when the quest executed those windows what you left open before would be opened again, but the warp is killing this procedure and that happens what you can see in the video, the windows are there but you cannot see them. Btw you can close them with escape key. The fix is coming from webzen: Simple, just execute a .Hide() function before the Destroy function has been called on that object what is stuck on the main window after teleport and that's it. For example: interfaceModule.py -> Interface class -> Close function: if self.wndInventory: self.wndInventory.Hide()#fix self.wndInventory.Destroy() if self.wndDragonSoul: self.wndDragonSoul.Hide()#fix self.wndDragonSoul.Destroy() 1 23 Link to comment Share on other sites More sharing options...
Horinna 4 Posted February 18, 2018 Share Posted February 18, 2018 (edited) Thanks :). But i dont have this bug oO I didnt fix anything. oO Edited August 20, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Honorable Member xP3NG3Rx 19773 Posted February 18, 2018 Author Honorable Member Share Posted February 18, 2018 Not everyone have this bug 1 Link to comment Share on other sites More sharing options...
daradevil124 371 Posted February 18, 2018 Share Posted February 18, 2018 thanks. Link to comment Share on other sites More sharing options...
Forum Moderator Raylee 658 Posted February 18, 2018 Forum Moderator Share Posted February 18, 2018 Good work <3 Thank you for sharing it Best regards Raylee Link to comment Share on other sites More sharing options...
Honorable Member martysama0134 7205 Posted February 18, 2018 Honorable Member Share Posted February 18, 2018 5 hours ago, xP3NG3Rx said: The fix is coming from webzen: Simple, just execute a .Hide() function before the Destroy function has been called on that object what is stuck on the main window after teleport and that's it. Technically, this is a work-around, because the previous "ghost interface" is still there, but it remains just hidden (undeleted). You get such bug due to a python's garbage collector "issue/condition" when destroying the relative class: Since, in your case, the class' object count is higher than 1, when deleting self, the object count is decreased by 1, but since it doesn't still become 0, self doesn't get destroyed at all. (and del self.wndInventory wouldn't trigger def __del__ either) Normally, the object count for gui instances should remain as 1, but (mostly in every case) if someone during a .SetEvent (or similar) passed the self parameter without proxing it (proxy=creating a weak uncounted instance of self), it will lead to create 2 self instances in two different modules (interfaceModule and ui in this case), which means the object count will be >=2, and then you'll get a "ghost interface" when rewarping. Even so, considering everything beside self gets still deleted (i mean, its internal elements get deleted except the methods; that's why ESC still works), putting a .Hide() in there is still safe. (the memory leak would still remain unfixed though; maybe after retriggering the bug the "ghost interface" gets deleted, but a new one would still be generated to replace it) 1 3 Check out my GitHub Link to comment Share on other sites More sharing options...
ali4242 15 Posted February 18, 2018 Share Posted February 18, 2018 Penger is crying Link to comment Share on other sites More sharing options...
Baumi 73 Posted February 19, 2018 Share Posted February 19, 2018 This is actually a issue either me or the the developers that came after me brought into the rubinum source. The better fix is fixing it in the window manager or martysamas approach. Ymir actually already solved this in the Inferna source by introducing ui_event.py This is the hidden content, please Sign In or Sign Up Here you have it. Basically when setting an event you use MakeEvent and when calling SetEvent you just give the argument if it has arguments you do Event(func, arg, arg, arg) for example That way you eliminate cyclic references. Also in the window manager there is an define you can enable to find elements that were not properly deleted so you can fix it by properly deleting in Destroy or __del__ 45 2 7 2 12 Link to comment Share on other sites More sharing options...
Premium WeedHex 636 Posted February 23, 2018 Premium Share Posted February 23, 2018 Really good Link to comment Share on other sites More sharing options...
PeaceMaker 121 Posted February 28, 2018 Share Posted February 28, 2018 thats not a health cpu temperature tho ! Link to comment Share on other sites More sharing options...
Honorable Member xP3NG3Rx 19773 Posted February 28, 2018 Author Honorable Member Share Posted February 28, 2018 (edited) Spoiler I know, I know. I do not know why the temperatures going up to the skies. I have under my laptop a Klim Cyclone and on the side a Klim Tornado. If the fanboost is on max level and every cooler is on the avg. temps is 45°C on CPU and GPU also. (During game it's 85-90) And this shit is just 1 year old. Edited August 20, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
PeaceMaker 121 Posted February 28, 2018 Share Posted February 28, 2018 (edited) 3 hours ago, xP3NG3Rx said: Hide contents I know, I know. I do not know why the temperatures going up to the skies. I have under my laptop a Klim Cyclone and on the side a Klim Tornado. If the fanboost is on max level and every cooler is on the avg. temps is 45°C on CPU and GPU also. (During game it's 85-90) And this shit is just 1 year old. take out the dust then ! thats why i hate laptops i normally take it to the gas station or tires shop and use the high pressure air to get them out Edited August 20, 2022 by Metin2 Dev Core X - External 2 Internal 1 Link to comment Share on other sites More sharing options...
Premium tierrilopes 453 Posted February 28, 2018 Premium Share Posted February 28, 2018 Here you go: https://www.amazon.com/ARCTIC-MX-4-Thermal-Paste-grams/dp/B005OYEWY2 3 2 1 2 Link to comment Share on other sites More sharing options...
Fuazmens 5 Posted January 17 Share Posted January 17 On 2/19/2018 at 2:48 PM, Baumi said: This is actually a issue either me or the the developers that came after me brought into the rubinum source. The better fix is fixing it in the window manager or martysamas approach. Ymir actually already solved this in the Inferna source by introducing ui_event.py This is the hidden content, please Sign In or Sign Up Here you have it. Basically when setting an event you use MakeEvent and when calling SetEvent you just give the argument if it has arguments you do Event(func, arg, arg, arg) for example That way you eliminate cyclic references. Also in the window manager there is an define you can enable to find elements that were not properly deleted so you can fix it by properly deleting in Destroy or __del__ if someone would have the kindness to reupload this archive i'd be more than thankful Link to comment Share on other sites More sharing options...
Recommended Posts