Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 648984 Details for
Bug 732298
x11-base/xorg-server-9999 renames some variables and breaks x11-drivers/xf86-video-*
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
ati_rename.patch
ati_rename.patch (text/plain), 17.56 KB, created by
cyrillic
on 2020-07-11 22:55:08 UTC
(
hide
)
Description:
ati_rename.patch
Filename:
MIME Type:
Creator:
cyrillic
Created:
2020-07-11 22:55:08 UTC
Size:
17.56 KB
patch
obsolete
>diff -urN a/src/drmmode_display.c b/src/drmmode_display.c >--- a/src/drmmode_display.c 2020-07-11 18:18:07.865177357 -0400 >+++ b/src/drmmode_display.c 2020-07-11 18:19:14.229584665 -0400 >@@ -720,7 +720,7 @@ > xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, > ent) { > if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { >- dirty->slave_dst = >+ dirty->secondary_dst = > drmmode_crtc->scanout[scanout_id].pixmap; > break; > } >@@ -1356,7 +1356,7 @@ > > xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) { > if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { >- PixmapStopDirtyTracking(dirty->src, dirty->slave_dst); >+ PixmapStopDirtyTracking(dirty->src, dirty->secondary_dst); > break; > } > } >diff -urN a/src/evergreen_state.h b/src/evergreen_state.h >--- a/src/evergreen_state.h 2020-07-11 18:18:07.866177383 -0400 >+++ b/src/evergreen_state.h 2020-07-11 18:19:14.231584699 -0400 >@@ -350,7 +350,7 @@ > int *new_pitch); > extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv); > extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix); >-extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p); >+extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p); > extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle); > > #endif >diff -urN a/src/r600_state.h b/src/r600_state.h >--- a/src/r600_state.h 2020-07-11 18:18:07.868177435 -0400 >+++ b/src/r600_state.h 2020-07-11 18:19:14.233584733 -0400 >@@ -321,6 +321,6 @@ > int *new_pitch); > extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv); > extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix); >-extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p); >+extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p); > extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle); > #endif >diff -urN a/src/radeon_dri3.c b/src/radeon_dri3.c >--- a/src/radeon_dri3.c 2020-07-11 18:18:07.872177539 -0400 >+++ b/src/radeon_dri3.c 2020-07-11 18:19:14.234584749 -0400 >@@ -41,7 +41,7 @@ > #include <errno.h> > #include <libgen.h> > >-static int open_master_node(ScreenPtr screen, int *out) >+static int open_primary_node(ScreenPtr screen, int *out) > { > ScrnInfoPtr scrn = xf86ScreenToScrn(screen); > RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn); >@@ -112,7 +112,7 @@ > ret = open_render_node(screen, out); > > if (ret != Success) >- ret = open_master_node(screen, out); >+ ret = open_primary_node(screen, out); > > return ret; > } >diff -urN a/src/radeon_exa.c b/src/radeon_exa.c >--- a/src/radeon_exa.c 2020-07-11 18:18:07.874177591 -0400 >+++ b/src/radeon_exa.c 2020-07-11 18:19:14.235584766 -0400 >@@ -282,7 +282,7 @@ > free(driverPriv); > } > >-Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **fd_handle) >+Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **fd_handle) > { > struct radeon_exa_pixmap_priv *driver_priv = exaGetPixmapDriverPrivate(ppix); > >diff -urN a/src/radeon_exa_funcs.c b/src/radeon_exa_funcs.c >--- a/src/radeon_exa_funcs.c 2020-07-11 18:18:07.874177591 -0400 >+++ b/src/radeon_exa_funcs.c 2020-07-11 18:19:14.235584766 -0400 >@@ -71,7 +71,7 @@ > BEGIN_ACCEL_RELOC(9, 1); > } > OUT_RING_REG(RADEON_DEFAULT_SC_BOTTOM_RIGHT, info->state_2d.default_sc_bottom_right); >- OUT_RING_REG(RADEON_DP_GUI_MASTER_CNTL, info->state_2d.dp_gui_master_cntl); >+ OUT_RING_REG(RADEON_DP_GUI_MASTER_CNTL, info->state_2d.dp_gui_primary_cntl); > OUT_RING_REG(RADEON_DP_BRUSH_FRGD_CLR, info->state_2d.dp_brush_frgd_clr); > OUT_RING_REG(RADEON_DP_BRUSH_BKGD_CLR, info->state_2d.dp_brush_bkgd_clr); > OUT_RING_REG(RADEON_DP_SRC_FRGD_CLR, info->state_2d.dp_src_frgd_clr); >@@ -156,7 +156,7 @@ > info->state_2d.dp_brush_bkgd_clr = 0x00000000; > info->state_2d.dp_src_frgd_clr = 0xffffffff; > info->state_2d.dp_src_bkgd_clr = 0x00000000; >- info->state_2d.dp_gui_master_cntl = (RADEON_GMC_DST_PITCH_OFFSET_CNTL | >+ info->state_2d.dp_gui_primary_cntl = (RADEON_GMC_DST_PITCH_OFFSET_CNTL | > RADEON_GMC_BRUSH_SOLID_COLOR | > (datatype << 8) | > RADEON_GMC_SRC_DATATYPE_COLOR | >@@ -208,7 +208,7 @@ > RADEONInfoPtr info = RADEONPTR(pScrn); > > /* setup 2D state */ >- info->state_2d.dp_gui_master_cntl = (RADEON_GMC_DST_PITCH_OFFSET_CNTL | >+ info->state_2d.dp_gui_primary_cntl = (RADEON_GMC_DST_PITCH_OFFSET_CNTL | > RADEON_GMC_SRC_PITCH_OFFSET_CNTL | > RADEON_GMC_BRUSH_NONE | > (datatype << 8) | >diff -urN a/src/radeon_glamor.c b/src/radeon_glamor.c >--- a/src/radeon_glamor.c 2020-07-11 18:18:07.876177643 -0400 >+++ b/src/radeon_glamor.c 2020-07-11 18:19:14.235584766 -0400 >@@ -366,7 +366,7 @@ > > > static Bool >-radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr slave, >+radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr secondary, > void **handle_p) > { > ScreenPtr screen = pixmap->drawable.pScreen; >diff -urN a/src/radeon.h b/src/radeon.h >--- a/src/radeon.h 2020-07-11 18:18:07.869177461 -0400 >+++ b/src/radeon.h 2020-07-11 18:19:14.234584749 -0400 >@@ -182,18 +182,18 @@ > > > static inline ScreenPtr >-radeon_master_screen(ScreenPtr screen) >+radeon_primary_screen(ScreenPtr screen) > { >- if (screen->current_master) >- return screen->current_master; >+ if (screen->current_primary) >+ return screen->current_primary; > > return screen; > } > > static inline ScreenPtr >-radeon_dirty_master(PixmapDirtyUpdatePtr dirty) >+radeon_dirty_primary(PixmapDirtyUpdatePtr dirty) > { >- return radeon_master_screen(dirty->slave_dst->drawable.pScreen); >+ return radeon_primary_screen(dirty->secondary_dst->drawable.pScreen); > } > > static inline DrawablePtr >@@ -349,7 +349,7 @@ > int op; // > uint32_t dst_pitch_offset; > uint32_t src_pitch_offset; >- uint32_t dp_gui_master_cntl; >+ uint32_t dp_gui_primary_cntl; > uint32_t dp_cntl; > uint32_t dp_write_mask; > uint32_t dp_brush_frgd_clr; >diff -urN a/src/radeon_kms.c b/src/radeon_kms.c >--- a/src/radeon_kms.c 2020-07-11 18:18:07.877177669 -0400 >+++ b/src/radeon_kms.c 2020-07-11 18:19:14.236584783 -0400 >@@ -559,8 +559,8 @@ > if (dirty->rotation != RR_Rotate_0) { > dstregion = transform_region(damageregion, > &dirty->f_inverse, >- dirty->slave_dst->drawable.width, >- dirty->slave_dst->drawable.height); >+ dirty->secondary_dst->drawable.width, >+ dirty->secondary_dst->drawable.height); > } else > #endif > { >@@ -568,7 +568,7 @@ > > dstregion = RegionDuplicate(damageregion); > RegionTranslate(dstregion, -dirty->x, -dirty->y); >- PixmapRegionInit(&pixregion, dirty->slave_dst); >+ PixmapRegionInit(&pixregion, dirty->secondary_dst); > RegionIntersect(dstregion, dstregion, &pixregion); > RegionUninit(&pixregion); > } >@@ -585,8 +585,8 @@ > if (RegionNil(region)) > goto out; > >- if (dirty->slave_dst->master_pixmap) >- DamageRegionAppend(&dirty->slave_dst->drawable, region); >+ if (dirty->secondary_dst->primary_pixmap) >+ DamageRegionAppend(&dirty->secondary_dst->drawable, region); > > #ifdef HAS_DIRTYTRACKING_ROTATION > PixmapSyncDirtyHelper(dirty); >@@ -595,8 +595,8 @@ > #endif > > radeon_cs_flush_indirect(src_scrn); >- if (dirty->slave_dst->master_pixmap) >- DamageRegionProcessPending(&dirty->slave_dst->drawable); >+ if (dirty->secondary_dst->primary_pixmap) >+ DamageRegionProcessPending(&dirty->secondary_dst->drawable); > > out: > DamageEmpty(dirty->damage); >@@ -613,12 +613,12 @@ > void > radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) > { >- ScreenPtr master_screen = radeon_dirty_master(dirty); >+ ScreenPtr primary_screen = radeon_dirty_primary(dirty); > PixmapDirtyUpdatePtr ent; > RegionPtr region; > >- xorg_list_for_each_entry(ent, &master_screen->pixmap_dirty_list, ent) { >- if (!radeon_dirty_src_equals(dirty, ent->slave_dst)) >+ xorg_list_for_each_entry(ent, &primary_screen->pixmap_dirty_list, ent) { >+ if (!radeon_dirty_src_equals(dirty, ent->secondary_dst)) > continue; > > region = dirty_region(ent); >@@ -631,45 +631,45 @@ > #if HAS_SYNC_SHARED_PIXMAP > > static Bool >-master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) >+primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) > { >- ScreenPtr master_screen = radeon_dirty_master(dirty); >+ ScreenPtr primary_screen = radeon_dirty_primary(dirty); > >- return !!master_screen->SyncSharedPixmap; >+ return !!primary_screen->SyncSharedPixmap; > } > > static Bool >-slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) >+secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) > { >- ScreenPtr slave_screen = dirty->slave_dst->drawable.pScreen; >+ ScreenPtr secondary_screen = dirty->secondary_dst->drawable.pScreen; > >- return !!slave_screen->SyncSharedPixmap; >+ return !!secondary_screen->SyncSharedPixmap; > } > > static void > call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) > { >- ScreenPtr master_screen = radeon_dirty_master(dirty); >+ ScreenPtr primary_screen = radeon_dirty_primary(dirty); > >- master_screen->SyncSharedPixmap(dirty); >+ primary_screen->SyncSharedPixmap(dirty); > } > > #else /* !HAS_SYNC_SHARED_PIXMAP */ > > static Bool >-master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) >+primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) > { >- ScrnInfoPtr master_scrn = xf86ScreenToScrn(radeon_dirty_master(dirty)); >+ ScrnInfoPtr primary_scrn = xf86ScreenToScrn(radeon_dirty_primary(dirty)); > >- return master_scrn->driverName == scrn->driverName; >+ return primary_scrn->driverName == scrn->driverName; > } > > static Bool >-slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) >+secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) > { >- ScrnInfoPtr slave_scrn = xf86ScreenToScrn(dirty->slave_dst->drawable.pScreen); >+ ScrnInfoPtr secondary_scrn = xf86ScreenToScrn(dirty->secondary_dst->drawable.pScreen); > >- return slave_scrn->driverName == scrn->driverName; >+ return secondary_scrn->driverName == scrn->driverName; > } > > static void >@@ -684,12 +684,12 @@ > static xf86CrtcPtr > radeon_prime_dirty_to_crtc(PixmapDirtyUpdatePtr dirty) > { >- ScreenPtr screen = dirty->slave_dst->drawable.pScreen; >+ ScreenPtr screen = dirty->secondary_dst->drawable.pScreen; > ScrnInfoPtr scrn = xf86ScreenToScrn(screen); > xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); > int c; > >- /* Find the CRTC which is scanning out from this slave pixmap */ >+ /* Find the CRTC which is scanning out from this secondary pixmap */ > for (c = 0; c < xf86_config->num_crtc; c++) { > xf86CrtcPtr xf86_crtc = xf86_config->crtc[c]; > drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private; >@@ -714,7 +714,7 @@ > if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { > RegionPtr region; > >- if (master_has_sync_shared_pixmap(scrn, dirty)) >+ if (primary_has_sync_shared_pixmap(scrn, dirty)) > call_sync_shared_pixmap(dirty); > > region = dirty_region(dirty); >@@ -727,7 +727,7 @@ > radeon_cs_flush_indirect(scrn); > RegionCopy(&drmmode_crtc->scanout_last_region, region); > RegionTranslate(region, -crtc->x, -crtc->y); >- dirty->slave_dst = drmmode_crtc->scanout[scanout_id].pixmap; >+ dirty->secondary_dst = drmmode_crtc->scanout[scanout_id].pixmap; > } > > redisplay_dirty(dirty, region); >@@ -754,7 +754,7 @@ > static void > radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty) > { >- ScreenPtr screen = dirty->slave_dst->drawable.pScreen; >+ ScreenPtr screen = dirty->secondary_dst->drawable.pScreen; > ScrnInfoPtr scrn = xf86ScreenToScrn(screen); > RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn); > xf86CrtcPtr xf86_crtc = radeon_prime_dirty_to_crtc(dirty); >@@ -818,7 +818,7 @@ > static void > radeon_prime_scanout_flip(PixmapDirtyUpdatePtr ent) > { >- ScreenPtr screen = ent->slave_dst->drawable.pScreen; >+ ScreenPtr screen = ent->secondary_dst->drawable.pScreen; > ScrnInfoPtr scrn = xf86ScreenToScrn(screen); > RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn); > xf86CrtcPtr crtc = radeon_prime_dirty_to_crtc(ent); >@@ -893,11 +893,11 @@ > if (screen->isGPU) { > PixmapDirtyUpdatePtr region_ent = ent; > >- if (master_has_sync_shared_pixmap(scrn, ent)) { >- ScreenPtr master_screen = radeon_dirty_master(ent); >+ if (primary_has_sync_shared_pixmap(scrn, ent)) { >+ ScreenPtr primary_screen = radeon_dirty_primary(ent); > >- xorg_list_for_each_entry(region_ent, &master_screen->pixmap_dirty_list, ent) { >- if (radeon_dirty_src_equals(ent, region_ent->slave_dst)) >+ xorg_list_for_each_entry(region_ent, &primary_screen->pixmap_dirty_list, ent) { >+ if (radeon_dirty_src_equals(ent, region_ent->secondary_dst)) > break; > } > } >@@ -921,7 +921,7 @@ > > RegionDestroy(region); > } else { >- if (slave_has_sync_shared_pixmap(scrn, ent)) >+ if (secondary_has_sync_shared_pixmap(scrn, ent)) > continue; > > region = dirty_region(ent); >@@ -1216,7 +1216,7 @@ > (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS); > pScreen->BlockHandler = RADEONBlockHandler_KMS; > >- if (!xf86ScreenToScrn(radeon_master_screen(pScreen))->vtSema) >+ if (!xf86ScreenToScrn(radeon_primary_screen(pScreen))->vtSema) > return; > > if (!pScreen->isGPU) >@@ -1498,7 +1498,7 @@ > return TRUE; > } > >-static int radeon_get_drm_master_fd(ScrnInfoPtr pScrn) >+static int radeon_get_drm_primary_fd(ScrnInfoPtr pScrn) > { > RADEONInfoPtr info = RADEONPTR(pScrn); > #ifdef XF86_PDEV_SERVER_FD >@@ -1530,7 +1530,7 @@ > return fd; > } > >-static Bool radeon_open_drm_master(ScrnInfoPtr pScrn) >+static Bool radeon_open_drm_primary(ScrnInfoPtr pScrn) > { > RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); > drmSetVersion sv; >@@ -1543,11 +1543,11 @@ > return TRUE; > } > >- pRADEONEnt->fd = radeon_get_drm_master_fd(pScrn); >+ pRADEONEnt->fd = radeon_get_drm_primary_fd(pScrn); > if (pRADEONEnt->fd == -1) > return FALSE; > >- /* Check that what we opened was a master or a master-capable FD, >+ /* Check that what we opened was a primary or a primary-capable FD, > * by setting the version of the interface we'll use to talk to it. > * (see DRIOpenDRMMaster() in DRI1) > */ >@@ -1815,7 +1815,7 @@ > if (!RADEONPreInitChipType_KMS(pScrn)) > return FALSE; > >- if (radeon_open_drm_master(pScrn) == FALSE) { >+ if (radeon_open_drm_primary(pScrn) == FALSE) { > xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Kernel modesetting setup failed\n"); > return FALSE; > } >@@ -2157,7 +2157,7 @@ > return TRUE; > } > >-static Bool radeon_set_drm_master(ScrnInfoPtr pScrn) >+static Bool radeon_set_drm_primary(ScrnInfoPtr pScrn) > { > RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); > int err; >@@ -2170,12 +2170,12 @@ > > err = drmSetMaster(pRADEONEnt->fd); > if (err) >- ErrorF("Unable to retrieve master\n"); >+ ErrorF("Unable to retrieve primary\n"); > > return err == 0; > } > >-static void radeon_drop_drm_master(ScrnInfoPtr pScrn) >+static void radeon_drop_drm_primary(ScrnInfoPtr pScrn) > { > RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); > >@@ -2224,7 +2224,7 @@ > if (info->accel_state->use_vbos) > radeon_vbo_free_lists(pScrn); > >- radeon_drop_drm_master(pScrn); >+ radeon_drop_drm_primary(pScrn); > > drmmode_fini(pScrn, &info->drmmode); > if (info->dri2.enabled) >@@ -2278,7 +2278,7 @@ > pScrn->defaultVisual)) return FALSE; > miSetPixmapDepths (); > >- if (!radeon_set_drm_master(pScrn)) >+ if (!radeon_set_drm_primary(pScrn)) > return FALSE; > > info->directRenderingEnabled = FALSE; >@@ -2535,7 +2535,7 @@ > xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG, > "RADEONEnterVT_KMS\n"); > >- radeon_set_drm_master(pScrn); >+ radeon_set_drm_primary(pScrn); > > if (info->r600_shadow_fb) { > int base_align = drmmode_get_base_align(pScrn, info->pixel_bytes, 0); >@@ -2560,7 +2560,7 @@ > if (!front_bo) { > xf86DrvMsg(pScrn->scrnIndex, X_WARNING, > "Failed to allocate new scanout BO after VT switch, " >- "other DRM masters may see screen contents\n"); >+ "other DRM primarys may see screen contents\n"); > } > } > >@@ -2584,7 +2584,7 @@ > xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); > int c; > >- if (xf86ScreenToScrn(radeon_master_screen(screen))->vtSema) >+ if (xf86ScreenToScrn(radeon_primary_screen(screen))->vtSema) > return 0; > > /* Unreference the all-black FB created by RADEONLeaveVT_KMS. After >@@ -2720,7 +2720,7 @@ > hide_cursors: > xf86_hide_cursors (pScrn); > >- radeon_drop_drm_master(pScrn); >+ radeon_drop_drm_primary(pScrn); > > info->accel_state->XInited3D = FALSE; > info->accel_state->engineMode = EXA_ENGINEMODE_UNKNOWN; >diff -urN a/src/radeon_reg.h b/src/radeon_reg.h >--- a/src/radeon_reg.h 2020-07-11 18:18:07.879177721 -0400 >+++ b/src/radeon_reg.h 2020-07-11 18:19:14.237584800 -0400 >@@ -3630,7 +3630,7 @@ > #define AVIVO_D1CRTC_INTERLACE_STATUS 0x608c > #define AVIVO_D1CRTC_STEREO_CONTROL 0x60c4 > >-/* master controls */ >+/* primary controls */ > #define AVIVO_DC_CRTC_MASTER_EN 0x60f8 > #define AVIVO_DC_CRTC_TV_CONTROL 0x60fc > >@@ -4056,7 +4056,7 @@ > * 7d44, four times in a row. > * Writing is a little more complex. First write DATA with > * 0xnnnnnnzz, then 0xnnnnnnyy, where nnnnnn is some non-deterministic >- * magic number, zz is, I think, the slave address, and yy is the byte >+ * magic number, zz is, I think, the secondary address, and yy is the byte > * you want to write. */ > #define AVIVO_I2C_DATA 0x7d44 > #define R520_I2C_ADDR_COUNT_MASK (0x7)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 732298
:
648982
| 648984 |
648986
|
648988