jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java
changeset 2802 d05a9dcc8296
parent 439 3488710b02f8
child 3938 ef327bd847c0
equal deleted inserted replaced
2760:f038acdbdf9c 2802:d05a9dcc8296
    94                 Native.putLong(data, action_count,
    94                 Native.putLong(data, action_count,
    95                                XDnDConstants.XA_XdndActionLink.getAtom());
    95                                XDnDConstants.XA_XdndActionLink.getAtom());
    96                 action_count++;
    96                 action_count++;
    97             }
    97             }
    98 
    98 
    99             XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
    99             XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
   100             XDnDConstants.XA_XdndActionList.setAtomData(window,
   100             XDnDConstants.XA_XdndActionList.setAtomData(window,
   101                                                         XAtom.XA_ATOM,
   101                                                         XAtom.XA_ATOM,
   102                                                         data, action_count);
   102                                                         data, action_count);
   103             XToolkit.RESTORE_XERROR_HANDLER();
   103             XToolkit.RESTORE_XERROR_HANDLER();
   104 
   104 
   115         data = Native.allocateLongArray(formats.length);
   115         data = Native.allocateLongArray(formats.length);
   116 
   116 
   117         try {
   117         try {
   118             Native.put(data, formats);
   118             Native.put(data, formats);
   119 
   119 
   120             XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
   120             XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
   121             XDnDConstants.XA_XdndTypeList.setAtomData(window,
   121             XDnDConstants.XA_XdndTypeList.setAtomData(window,
   122                                                       XAtom.XA_ATOM,
   122                                                       XAtom.XA_ATOM,
   123                                                       data, formats.length);
   123                                                       data, formats.length);
   124             XToolkit.RESTORE_XERROR_HANDLER();
   124             XToolkit.RESTORE_XERROR_HANDLER();
   125 
   125 
   193 
   193 
   194         WindowPropertyGetter wpg1 =
   194         WindowPropertyGetter wpg1 =
   195             new WindowPropertyGetter(window, XDnDConstants.XA_XdndAware, 0, 1,
   195             new WindowPropertyGetter(window, XDnDConstants.XA_XdndAware, 0, 1,
   196                                      false, XConstants.AnyPropertyType);
   196                                      false, XConstants.AnyPropertyType);
   197 
   197 
   198         int status = wpg1.execute(XToolkit.IgnoreBadWindowHandler);
   198         int status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
   199 
   199 
   200         if (status == XConstants.Success &&
   200         if (status == XConstants.Success &&
   201             wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) {
   201             wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) {
   202 
   202 
   203             int targetVersion = (int)Native.getLong(wpg1.getData());
   203             int targetVersion = (int)Native.getLong(wpg1.getData());
   213                 WindowPropertyGetter wpg2 =
   213                 WindowPropertyGetter wpg2 =
   214                     new WindowPropertyGetter(window, XDnDConstants.XA_XdndProxy,
   214                     new WindowPropertyGetter(window, XDnDConstants.XA_XdndProxy,
   215                                              0, 1, false, XAtom.XA_WINDOW);
   215                                              0, 1, false, XAtom.XA_WINDOW);
   216 
   216 
   217                 try {
   217                 try {
   218                     status = wpg2.execute(XToolkit.IgnoreBadWindowHandler);
   218                     status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
   219 
   219 
   220                     if (status == XConstants.Success &&
   220                     if (status == XConstants.Success &&
   221                         wpg2.getData() != 0 &&
   221                         wpg2.getData() != 0 &&
   222                         wpg2.getActualType() == XAtom.XA_WINDOW) {
   222                         wpg2.getActualType() == XAtom.XA_WINDOW) {
   223 
   223 
   231                     WindowPropertyGetter wpg3 =
   231                     WindowPropertyGetter wpg3 =
   232                         new WindowPropertyGetter(proxy, XDnDConstants.XA_XdndProxy,
   232                         new WindowPropertyGetter(proxy, XDnDConstants.XA_XdndProxy,
   233                                                  0, 1, false, XAtom.XA_WINDOW);
   233                                                  0, 1, false, XAtom.XA_WINDOW);
   234 
   234 
   235                     try {
   235                     try {
   236                         status = wpg3.execute(XToolkit.IgnoreBadWindowHandler);
   236                         status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
   237 
   237 
   238                         if (status != XConstants.Success ||
   238                         if (status != XConstants.Success ||
   239                             wpg3.getData() == 0 ||
   239                             wpg3.getData() == 0 ||
   240                             wpg3.getActualType() != XAtom.XA_WINDOW ||
   240                             wpg3.getActualType() != XAtom.XA_WINDOW ||
   241                             Native.getLong(wpg3.getData()) != proxy) {
   241                             Native.getLong(wpg3.getData()) != proxy) {
   247                                                          XDnDConstants.XA_XdndAware,
   247                                                          XDnDConstants.XA_XdndAware,
   248                                                          0, 1, false,
   248                                                          0, 1, false,
   249                                                          XConstants.AnyPropertyType);
   249                                                          XConstants.AnyPropertyType);
   250 
   250 
   251                             try {
   251                             try {
   252                                 status = wpg4.execute(XToolkit.IgnoreBadWindowHandler);
   252                                 status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
   253 
   253 
   254                                 if (status != XConstants.Success ||
   254                                 if (status != XConstants.Success ||
   255                                     wpg4.getData() == 0 ||
   255                                     wpg4.getData() == 0 ||
   256                                     wpg4.getActualType() != XAtom.XA_ATOM) {
   256                                     wpg4.getActualType() != XAtom.XA_ATOM) {
   257 
   257