Jump to content

Double Map after Teleport


Recommended Posts

  • Developer
22 hours ago, Ikarus_ said:

What may not be cleaned is not necessarily AtlasWindow but its child named "board" . Let's see if you dump it what's coming out.

	def Destroy(self):
		import dbg
		references = vars(self.board)
		dbg.TraceError("STARTING AtlasWindow.board DUMP")
		for name, value in references.items():
			dbg.TraceError("AtlasWindow.board.{} = {}", name, value)
			
		dbg.TraceError("STARTING AtlasWindow.board.titleBar DUMP")
		for name, value in vars(self.board.titleBar).items():
			dbg.TraceError("AtlasWindow.board.titleBar.{} = {}", name, value)
		
		miniMap.UnregisterAtlasWindow()
		self.ClearDictionary()
		self.AtlasMainWindow = None
		self.tooltipAtlasClose = 0
		self.tooltipInfo = None
		self.infoGuildMark = None
		self.board = None

The test is obv identical to the previous one.

My guess is that the close event of the "BoardWithTitleBar" isn't moved to None

Look at this message, copy this code and make the test. The last test you made use an old Destroy which i corrected yesterday night (for this reason you need to copy again it)

My youtube channel  on which you can see my works here

Link to comment
Share on other sites

1 hour ago, Ikarus_ said:

Look at this message, copy this code and make the test. The last test you made use an old Destroy which i corrected yesterday night (for this reason you need to copy again it)

Using the code you said to put this appears in syseer:

Spoiler

0320 20:55:48182 :: STARTING AtlasWindow.board DUMP
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: STARTING AtlasWindow.board.titleBar DUMP
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}

 

 

 

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

  • Developer
4 minutes ago, Marcos17 said:

Using the code you said to put this appears in syseer:

  Reveal hidden contents

0320 20:55:48182 :: STARTING AtlasWindow.board DUMP
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48182 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: AtlasWindow.board.{} = {}
0320 20:55:48183 :: STARTING AtlasWindow.board.titleBar DUMP
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}
0320 20:55:48183 :: AtlasWindow.board.titleBar.{} = {}

 

 

 

 

 

 

 

 

 

 

 

 

 

It looks the message edit wasn't applied successfully, my bad.

So here's the code with the fix applied.
 

	def Destroy(self):
		import dbg
		references = vars(self.board)
		dbg.TraceError("STARTING AtlasWindow.board DUMP")
		for name, value in references.items():
			dbg.TraceError("AtlasWindow.board.{} = {}".format(name, value))
			
		dbg.TraceError("STARTING AtlasWindow.board.titleBar DUMP")
		for name, value in vars(self.board.titleBar).items():
			dbg.TraceError("AtlasWindow.board.titleBar.{} = {}".format(name, value))
		
		miniMap.UnregisterAtlasWindow()
		self.ClearDictionary()
		self.AtlasMainWindow = None
		self.tooltipAtlasClose = 0
		self.tooltipInfo = None
		self.infoGuildMark = None
		self.board = None

 

My youtube channel  on which you can see my works here

Link to comment
Share on other sites

19 minutes ago, Ikarus_ said:

It looks the message edit wasn't applied successfully, my bad.

So here's the code with the fix applied.
 

	def Destroy(self):
		import dbg
		references = vars(self.board)
		dbg.TraceError("STARTING AtlasWindow.board DUMP")
		for name, value in references.items():
			dbg.TraceError("AtlasWindow.board.{} = {}".format(name, value))
			
		dbg.TraceError("STARTING AtlasWindow.board.titleBar DUMP")
		for name, value in vars(self.board.titleBar).items():
			dbg.TraceError("AtlasWindow.board.titleBar.{} = {}".format(name, value))
		
		miniMap.UnregisterAtlasWindow()
		self.ClearDictionary()
		self.AtlasMainWindow = None
		self.tooltipAtlasClose = 0
		self.tooltipInfo = None
		self.infoGuildMark = None
		self.board = None

 

Spoiler

0320 21:21:40840 :: STARTING AtlasWindow.board DUMP
0320 21:21:40840 :: AtlasWindow.board.mouseLeftButtonUpEvent = None
0320 21:21:40840 :: AtlasWindow.board.mouseLeftButtonDownArgs = None
0320 21:21:40840 :: AtlasWindow.board.hWnd = 850923968
0320 21:21:40840 :: AtlasWindow.board.baseX = 0
0320 21:21:40840 :: AtlasWindow.board.baseY = 0
0320 21:21:40840 :: AtlasWindow.board.moveWindowEvent = None
0320 21:21:40840 :: AtlasWindow.board.titleBar = <ui.TitleBar object at 0x12F63890>
0320 21:21:40840 :: AtlasWindow.board.overInArgs = None
0320 21:21:40840 :: AtlasWindow.board.renderArgs = None
0320 21:21:40840 :: AtlasWindow.board.mouseLeftButtonDoubleClickEvent = None
0320 21:21:40840 :: AtlasWindow.board.mouseRightButtonDownArgs = None
0320 21:21:40840 :: AtlasWindow.board.Base = <ui.ExpandedImageBox object at 0x12F63650>
0320 21:21:40840 :: AtlasWindow.board.overInEvent = None
0320 21:21:40840 :: AtlasWindow.board.onMouseLeftButtonUpEvent = None
0320 21:21:40840 :: AtlasWindow.board.Corners = [<ui.ExpandedImageBox object at 0x12F63750>, <ui.ExpandedImageBox object at 0x12F636F0>, <ui.ExpandedImageBox object at 0x12F63710>, <ui.ExpandedImageBox object at 0x12F63850>]
0320 21:21:40840 :: AtlasWindow.board.Lines = [<ui.ExpandedImageBox object at 0x12F63B30>, <ui.ExpandedImageBox object at 0x12F63930>, <ui.ExpandedImageBox object at 0x12F63790>, <ui.ExpandedImageBox object at 0x12F63AD0>]
0320 21:21:40840 :: AtlasWindow.board.mouseLeftButtonDownEvent = None
0320 21:21:40840 :: AtlasWindow.board.parentWindow = 0
0320 21:21:40840 :: AtlasWindow.board.titleName = <ui.TextLine object at 0x12F63730>
0320 21:21:40840 :: AtlasWindow.board.mouseLeftButtonUpArgs = None
0320 21:21:40840 :: AtlasWindow.board.mouseRightButtonDownEvent = None
0320 21:21:40840 :: AtlasWindow.board.overOutEvent = None
0320 21:21:40840 :: AtlasWindow.board.renderEvent = None
0320 21:21:40840 :: AtlasWindow.board.overOutArgs = None
0320 21:21:40840 :: AtlasWindow.board.clickEvent = None
0320 21:21:40840 :: STARTING AtlasWindow.board.titleBar DUMP
0320 21:21:40840 :: AtlasWindow.board.titleBar.mouseLeftButtonUpEvent = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.mouseLeftButtonDownArgs = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.hWnd = 850931720
0320 21:21:40840 :: AtlasWindow.board.titleBar.baseX = 0
0320 21:21:40840 :: AtlasWindow.board.titleBar.baseY = 0
0320 21:21:40840 :: AtlasWindow.board.titleBar.moveWindowEvent = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.overInArgs = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.imgRight = <ui.ImageBox object at 0x12F637D0>
0320 21:21:40840 :: AtlasWindow.board.titleBar.renderArgs = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.mouseLeftButtonDoubleClickEvent = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.mouseRightButtonDownArgs = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.overInEvent = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.imgLeft = <ui.ImageBox object at 0x12F63910>
0320 21:21:40840 :: AtlasWindow.board.titleBar.onMouseLeftButtonUpEvent = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.mouseLeftButtonDownEvent = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.parentWindow = 0
0320 21:21:40840 :: AtlasWindow.board.titleBar.mouseLeftButtonUpArgs = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.mouseRightButtonDownEvent = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.btnClose = <ui.Button object at 0x12F63B10>
0320 21:21:40840 :: AtlasWindow.board.titleBar.imgCenter = <ui.ExpandedImageBox object at 0x12F63AB0>
0320 21:21:40840 :: AtlasWindow.board.titleBar.overOutEvent = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.renderEvent = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.overOutArgs = None
0320 21:21:40840 :: AtlasWindow.board.titleBar.clickEvent = None

 

Link to comment
Share on other sites

  • Developer

This would solve your problem finally:
 

	def Destroy(self):
		self.board.SetCloseEvent(None)
		miniMap.UnregisterAtlasWindow()
		self.ClearDictionary()
		self.AtlasMainWindow = None
		self.tooltipAtlasClose = 0
		self.tooltipInfo = None
		self.infoGuildMark = None
		self.board = None

 

My youtube channel  on which you can see my works here

Link to comment
Share on other sites

  • Developer

I posted the solution but when reloading this thread page i cannot see it at all. I m posting it once again.
 

	def Destroy(self):
		self.board.SetCloseEvent(None)
		miniMap.UnregisterAtlasWindow()
		self.ClearDictionary()
		self.AtlasMainWindow = None
		self.tooltipAtlasClose = 0
		self.tooltipInfo = None
		self.infoGuildMark = None
		self.board = None

 

It could solve your bug.

Edited by Ikarus_

My youtube channel  on which you can see my works here

Link to comment
Share on other sites

  • Developer

Using this code you can check how many references to your AtlasWindow and AtlasWindow.board are still not moved to None.

	def Destroy(self):
		import dbg
		import sys
		
		self.board.SetCloseEvent(None)
		
		dbg.TraceError("AtlasWindow ref count = {}".format(sys.getrefcount(self)-1))
		dbg.TraceError("AtlasWindow.board ref count = {}".format(sys.getrefcount(self.board)-1))		
		
		miniMap.UnregisterAtlasWindow()
		self.ClearDictionary()
		self.AtlasMainWindow = None
		self.tooltipAtlasClose = 0
		self.tooltipInfo = None
		self.infoGuildMark = None
		self.board = None

 

My youtube channel  on which you can see my works here

Link to comment
Share on other sites

50 minutes ago, Ikarus_ said:

Using this code you can check how many references to your AtlasWindow and AtlasWindow.board are still not moved to None.

	def Destroy(self):
		import dbg
		import sys
		
		self.board.SetCloseEvent(None)
		
		dbg.TraceError("AtlasWindow ref count = {}".format(sys.getrefcount(self)-1))
		dbg.TraceError("AtlasWindow.board ref count = {}".format(sys.getrefcount(self.board)-1))		
		
		miniMap.UnregisterAtlasWindow()
		self.ClearDictionary()
		self.AtlasMainWindow = None
		self.tooltipAtlasClose = 0
		self.tooltipInfo = None
		self.infoGuildMark = None
		self.board = None

 

syserr:

Spoiler

0321 19:38:19963 :: AtlasWindow ref count = 4
0321 19:38:19963 :: AtlasWindow.board ref count = 4
0321 19:38:51768 :: AtlasWindow ref count = 4
0321 19:38:51768 :: AtlasWindow.board ref count = 4
 

 

  • Confused 1
Link to comment
Share on other sites

  • Developer

As you can see there are some extra references, 2 more than expected. The expected result was 2 not 4. Where these references are it is not possible for me to know as I do not have all your root available to read, surely you have some AtlasWindow child that keeps its reference or something like that.
The self.board was surely one of these, no longer now once you use SetCloseEvent with None. A test we may try is a recursive dump, it might highlight something but even if that leads to nothing, I think the things I can do without reading your code are done.

 

	def Destroy(self):
		import dbg
		
		def RecursiveDump(obj, name, tab, done_objects):
			tabstr = '\t' * tab
			dbg.TraceError(tabstr + ("START WITH DUMP : %s"%name))
			try:
				for mem, value in vars(obj).items():
					dbg.TraceError(tabstr + ("{}.{}={}".format(name,mem,value)))
				for mem, value in vars(obj).items():
					if hasattr(value, '__dict__') and id(value) not in done_objects:
						done_objects.append(id(value))
						RecursiveDump(value, name + '.' + mem, tab+1, done_objects)
			except Exception, e:
				dbg.TraceError("Exception while dumping %s : %s"%(name, str(e)))
	
		miniMap.UnregisterAtlasWindow()
		self.ClearDictionary()
		self.AtlasMainWindow = None
		self.tooltipAtlasClose = 0
		self.tooltipInfo = None
		self.infoGuildMark = None
		self.board = None
		
		RecursiveDump(self, 'AtlasWindow', 0, [])

 

Edited by Ikarus_

My youtube channel  on which you can see my works here

Link to comment
Share on other sites

  • 11 months later...
  • 11 months later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.