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){
|