View | Details | Raw Unified | Return to bug 174121 | Differences between
and this patch

Collapse All | Expand All

(-)Eclipse SWT/win32/org/eclipse/swt/graphics/Device.java (+25 lines)
Lines 15-20 Link Here
15
import org.eclipse.swt.internal.gdip.*;
15
import org.eclipse.swt.internal.gdip.*;
16
import org.eclipse.swt.internal.win32.*;
16
import org.eclipse.swt.internal.win32.*;
17
import org.eclipse.swt.*;
17
import org.eclipse.swt.*;
18
import org.eclipse.swt.widgets.*;
18
19
19
/**
20
/**
20
 * This class is the abstract superclass of all device objects,
21
 * This class is the abstract superclass of all device objects,
Lines 30-35 Link Here
30
	boolean tracking = DEBUG;
31
	boolean tracking = DEBUG;
31
	Error [] errors;
32
	Error [] errors;
32
	Object [] objects;
33
	Object [] objects;
34
	Listener listener;
33
	
35
	
34
	/**
36
	/**
35
	 * Palette 
37
	 * Palette 
Lines 125-130 Link Here
125
		if (data != null) {
127
		if (data != null) {
126
			debug = data.debug;
128
			debug = data.debug;
127
			tracking = data.tracking;
129
			tracking = data.tracking;
130
			listener = data.listener;
128
		}
131
		}
129
		create (data);
132
		create (data);
130
		init ();
133
		init ();
Lines 270-275 Link Here
270
void dispose_Object (Object object) {
273
void dispose_Object (Object object) {
271
	for (int i=0; i<objects.length; i++) {
274
	for (int i=0; i<objects.length; i++) {
272
		if (objects [i] == object) {
275
		if (objects [i] == object) {
276
			if(listener != null) {
277
				Event event = new ResourceEvent(object);
278
				event.time = OS.GetMessageTime();
279
				event.data = errors[i];
280
				event.type = SWT.ResourceDisposed;
281
				try {
282
					listener.handleEvent(event);
283
				} catch (Throwable t) {
284
					SWT.error (SWT.ERROR_FAILED_EXEC, t);
285
				}
286
			}
273
			objects [i] = null;
287
			objects [i] = null;
274
			errors [i] = null;
288
			errors [i] = null;
275
			return;
289
			return;
Lines 784-789 Link Here
784
		if (objects [i] == null) {
798
		if (objects [i] == null) {
785
			objects [i] = object;
799
			objects [i] = object;
786
			errors [i] = new Error ();
800
			errors [i] = new Error ();
801
			if(listener != null) {
802
				Event event = new ResourceEvent(object);
803
				event.time = OS.GetMessageTime();
804
				event.type = SWT.ResourceAllocated;
805
				event.data = errors[i];
806
				try {
807
					listener.handleEvent(event);
808
				} catch (Throwable t) {
809
					SWT.error (SWT.ERROR_FAILED_EXEC, t);
810
				}
811
			}
787
			return;
812
			return;
788
		}
813
		}
789
	}
814
	}
(-)Eclipse SWT/win32/org/eclipse/swt/graphics/DeviceData.java (+3 lines)
Lines 10-15 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.swt.graphics;
11
package org.eclipse.swt.graphics;
12
12
13
import org.eclipse.swt.widgets.Listener;
14
13
15
14
public class DeviceData {
16
public class DeviceData {
15
	/*
17
	/*
Lines 20-23 Link Here
20
	public boolean tracking;
22
	public boolean tracking;
21
	public Error [] errors;
23
	public Error [] errors;
22
	public Object [] objects;
24
	public Object [] objects;
25
	public Listener listener;
23
}
26
}
(-)Eclipse SWT/common/org/eclipse/swt/SWT.java (+24 lines)
Lines 611-616 Link Here
611
	 */
611
	 */
612
	public static final int PaintItem = 42;	
612
	public static final int PaintItem = 42;	
613
	
613
	
614
	/**
615
	 * The resource allocated event type (value is 43).
616
	 * This is a debug event, not supported on all platforms.
617
	 * 
618
	 * @see org.eclipse.swt.widgets.Widget#addListener
619
	 * @see org.eclipse.swt.widgets.Display#addFilter
620
	 * @see org.eclipse.swt.widgets.Event
621
	 * 
622
	 * @since 3.3
623
	 */
624
	public static final int ResourceAllocated = 43;	
625
	
626
	/**
627
	 * The resource allocated event type (value is 44).
628
	 * This is a debug event, not supported on all platforms.
629
	 * 
630
	 * @see org.eclipse.swt.widgets.Widget#addListener
631
	 * @see org.eclipse.swt.widgets.Display#addFilter
632
	 * @see org.eclipse.swt.widgets.Event
633
	 * 
634
	 * @since 3.3
635
	 */
636
	public static final int ResourceDisposed = 44;	
637
	
614
	/* Event Details */
638
	/* Event Details */
615
639
616
	/**
640
	/**
(-)Eclipse (+13 lines)
Added Link Here
1
package org.eclipse.swt.graphics;
2
import org.eclipse.swt.widgets.Event;
3
4
5
public class ResourceEvent extends Event {
6
	public Object resource;
7
8
	public ResourceEvent(Object resource) {
9
		super();
10
		this.resource = resource;
11
	}
12
	
13
}

Return to bug 174121