[Pydev-cvs] org.python.pydev/src/org/python/pydev/outline PyOutlinePage.java, 1.26, 1.27
Brought to you by:
fabioz
From: Fabio Z. <fa...@us...> - 2008-08-22 11:02:19
|
Update of /cvsroot/pydev/org.python.pydev/src/org/python/pydev/outline In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31683/src/org/python/pydev/outline Modified Files: PyOutlinePage.java Log Message: Lock object correctly used in PyOutlinePage (Integer instance would change) Index: PyOutlinePage.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/outline/PyOutlinePage.java,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** PyOutlinePage.java 21 Aug 2008 20:56:28 -0000 1.26 --- PyOutlinePage.java 22 Aug 2008 11:02:25 -0000 1.27 *************** *** 308,312 **** * Used to hold a link level to know when it should be unlinked or relinked, as calls can be 'cascaded' */ ! private volatile Integer linkLevel = 1; /** --- 308,317 ---- * Used to hold a link level to know when it should be unlinked or relinked, as calls can be 'cascaded' */ ! private int linkLevel = 1; ! ! /** ! * Used for locking link/unlink access. ! */ ! private Object lock = new Object(); /** *************** *** 315,319 **** */ void unlinkAll() { ! synchronized (linkLevel) { linkLevel--; if(linkLevel == 0){ --- 320,324 ---- */ void unlinkAll() { ! synchronized (lock) { linkLevel--; if(linkLevel == 0){ *************** *** 330,334 **** */ void relinkAll() { ! synchronized (linkLevel) { linkLevel++; if(linkLevel == 1){ --- 335,339 ---- */ void relinkAll() { ! synchronized (lock) { linkLevel++; if(linkLevel == 1){ |