Articoli con Tag ‘Bug’

Bachi di inizio anno: WordPress update e WPML get_page_by_path()

Il 2012 è iniziato con qualche ora di deep-debugging a causa di due (noti) bachi abbastanza fastidiosi. Il primo, tra l’altro abbastanza datato, presente nel core di WordPress che riguarda il metodo update() della classe wpdb, con la globale (e famosa) omonima istanza $wpdb. Il difetto appare quando si tenta di aggiornare un campo a NULL. Nonostante le numerose lamentele, il team di sviluppo WordPress sembra non trovare soluzione al fastidioso problema. Infatti, ad oggi, l’unica soluzione è quella di scriversi l’SQL per proprio conto.

Continua...

Actionscript trace, Objective-C NSLog()

Riprendendo il post Da Actionscript ad Objective-C (dove si mettevano a confronto il codice e la sintassi Actionscript e Objective-C), in Actionscript abbiamo la comodissima funzione trace(), usata per il debug delle applicazioni. Questa funzione emette un output sulla console dell’ambiente di sviluppo Adobe Flash. Viene utilizzata principalmente nelle fasi di sviluppo e testing di “filmato”/applicativo. In XCode/Objective-C abbiamo: NSLog(). La sintassi di questa funzione è molto simile alla trace() di Actionscript:

1
NSLog( @"Sono una linea di debug" );

In Actionscript avremmo:

1
trace( "Sono una linea di debug" );

A parte l’uso della chiocciola (@), come potete vedere, sono identiche. Le differenze (e similitudini) iniziano quando si vogliano visualizzare valori di variabili; ad esempio in Actionscript potremmo avere:

1
2
3
trace( "Coordinata x:" + x + " coordinata y:" + y );
// oppure
trace( "Coordinate: ", x, y );

In Objective-C abbiamo:

1
NSLog( @"Coordinata x:%i coordinata y:%i", x, y );

Nota: NSLog() in realtà richiama la più generica funzione NSLogv() che opera sull’Apple System Log. Le funzioni sono di fatto identica, cambiano solo i parametri in ingresso.

Gli sviluppatori C troveranno molto familiare la formattazione delle stringhe, come accade per printf() o sprintf(). Per dettagli si veda String Format Specifiers.

Continua...

Risolvere il baco di jQuery datapicker che scompare dietro al dialog

Aprendo un dialog con jQuery UI, dove al suo interno è impostato un campo input con datepicker, quest’ultimo scompare dietro al dialog a causa di un errata impostazione dello zIndex. Per risolverlo basta inserire nell’evento open del dialog, dopo l’impostazione del nostro campo input a datapicker, le seguenti righe di codice:

Continua...

jQuery: animate backgroundColor

Non ho capito bene se è un bug o una cosa voluta, comunque sia rimane il fatto che il metodo animate() di jQuery non funziona con alcuni attributi CSS, tra cui background-color (che nella versione camelize è backgroundColor). Ad esempio il seguente codice non produce nessun effetto:

1
2
3
4
5
<style type="text/css">
div#box { background-color: #eee; width:100px; height:100px }
</style>
<!-- .... -->
<div id="box"></div>
1
$('div#box').animate( {backgroundColor: "#f90"} );

Per risolvere il problema è necessario installare un’estensione: jQuery Color Animations. Questa permette di eseguire “animazioni” sull’attributo backgroundColor e non solo:

  • backgroundColor
  • borderBottomColor
  • borderLeftColor
  • borderRightColor
  • borderTopColor
  • color
  • outlineColor

Continua...

Flash CS3: un baco testuale

Lavorando con il testo statico ho scoperto un cuorioso difetto su Adobe Flash CS3 Professional. Inserendo un testo statico in un filmato e inclinandolo (skew), si ottengono risultati diversi, quando si manda in esecuzione il filmato, in base all’impostazione dell’antialiasing:

Flash CS3 bug text

Nell’ambiente authoring di Flash, invece, l’anteprima è identica per entrambe le scelte di antialiasing. Nell’esempio mostrato qui sopra ho usato un Font Arial. Tuttavia il problema si presenta con qualsiasi Font, anche quelle Bitmap. Lo stesso difetto si presenta anche inserendo il testo statico all’interno di un MovieClip e inclinando quest’ultimo invece del testo vero e proprio. (??)

Continua...


Stop SOPA